我需要将名为wishlist的表中的数据插入到另一个表(wishlisturi_salvate)中,并且插入看起来没问题,有些东西不能正常工作而且没有进行任何牺牲。谢谢你的帮助,我真的很感激
<?php
session_start();
include ('conex.php');
$sel2="select id_wishlist from wishlisturi_salvate";
$que2=mysql_query($sel2);
while($rez2=mysql_fetch_array($que2))
{
$a=$rez2['id_wishlist'];
}
$id_wishlist=$a;
echo $id_wishlist;
$sel="SELECT * from wishlist";
$que=mysql_query($sel);
while ($rez=mysql_fetch_array($que))
{
$insert="INSERT INTO 'wishlisturi_salvate'('id_user', 'id_wishlist', 'id_produs', 'nume_produs', 'pret_produs', 'cantitate_produs', 'suma')
VALUES('".$_SESSION['id']."','".$id_wishlist."','".$rez['id_produs']."','".$rez['nume_produs']."','".$rez['pret_produs']."','".$rez['cantitate_produs']."','".$rez['suma']."')";
if(!mysql_query($insert)) echo "fml";
echo "<br>".$insert;
}
if(mysql_query($insert))
{
header("location:user.php");
}
else echo "Nu s-a facut inserarea";
?>
答案 0 :(得分:1)
由于查询中的错误,最有可能无法插入:
蝙蝠的权利,已经出现了错误:
INSERT INTO 'wishlisturi_salvate'('id_user', 'id_wishlist', 'id_produs', 'nume_produs', 'pret_produs', 'cantitate_produs', 'suma')
正确引用表/列名称必须是反引号,而不是单引号
INSERT INTO `wishlisturi_salvate` (`id_user`, `id_wishlist`, `id_produs`, `nume_produs`, `pret_produs`, `cantitate_produs`, `suma`)
或者只是省略它们,在这种情况下没问题。
强制性注释:
Please, don't use
mysql_*
functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。如果您选择PDO,here is a good tutorial。
旁注:
如果您还没有,请始终打开错误报告:
error_reporting(E_ALL);
ini_set('display_errors', '1');
答案 1 :(得分:0)
首先,我会建议您使用PDO或mysqli而不是mysql来避免SQL注入。
无论如何,如果你想将一个表中的元素插入到另一个表中,我建议你使用带有subselect的insert语句。这样它会更快,你会浪费更少的记忆。
答案 2 :(得分:0)
不是答案,更多是观察;循环结果以构建一次发送到db的单个SQL插入多语句将会更有效。
$insert = "INSERT INTO 'wishlisturi_salvate'('id_user', 'id_wishlist', 'id_produs', 'nume_produs', 'pret_produs', 'cantitate_produs', 'suma') VALUES ";
foreach( of your results ){
$insert .= "(x,y,z,a,b,c,d),";
}
// now trim off last comma, then send to db.
// or create an array then join it to the $insert
可在此处阅读相同的信息:http://www.electrictoolbox.com/mysql-insert-multiple-records/