[英]Only one record with a TRUNCATE INSERT queries
我有一个查询问题。 确实,我想截断一个表,然后将数据插入到同一表中。
我的问题:当我执行这两个查询时,INSERT只记录一行,而我不知道为什么。 当我执行不带TRUNCATE的INSERT查询之前,它运行正常。 我该怎么做才能合并TRUNCATE然后INSERT?
谢谢
这是代码:
<?php
$base = mysql_connect ("***", "***", "***");
mysql_select_db ('***', $base) ;
$vider = "TRUNCATE TABLE drag";
mysql_query($vider);
// accept JSON parameter (and Un-quote string if needed)
$p = stripslashes($_REQUEST['p']);
// decode JSON object (it shouldn't be decoded as associative array)
$arr = json_decode($p);
// open loop through each array element
foreach ($arr as $p){
// set id, row index and cell index
$id = $p[0];
$row = $p[1];
$cell = $p[2];
// instead of print, you can store accepted parameteres to the database
print "Id=$id Row=$row Cell=$cell<br>";
$ajout = "INSERT INTO drag VALUES('','$id','$row','$cell')";
mysql_query($ajout);
mysql_close($base);
}
?>
我相信您需要将mysql_close()
放在循环之外。 否则,如果没有mysql_connect
,就无法发送后续查询。
<?php
$base = mysql_connect ("***", "***", "***");
mysql_select_db ('***', $base) ;
$vider = "TRUNCATE TABLE drag";
mysql_query($vider);
// accept JSON parameter (and Un-quote string if needed)
$p = stripslashes($_REQUEST['p']);
// decode JSON object (it shouldn't be decoded as associative array)
$arr = json_decode($p);
// open loop through each array element
foreach ($arr as $p){
// set id, row index and cell index
$id = $p[0];
$row = $p[1];
$cell = $p[2];
// instead of print, you can store accepted parameteres to the database
print "Id=$id Row=$row Cell=$cell<br>";
$ajout = "INSERT INTO drag VALUES('','$id','$row','$cell')";
mysql_query($ajout);
}
mysql_close($base);
?>
但是停止 ! 不再使用mysql_query()
了。 请参见http://php.net/manual/en/function.mysql-query.php上的红色大框? 改用MySQLi或PDO。
我认为您应该从foreach()循环中删除mysql_close。
第一次插入后,您正在关闭数据库连接。 下一个查询将无济于事
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.