我有两个很长的名单:
$countryCode
和
$countryName
要插入这些列表,我创建了以下循环:
$i = 0;
$con=mysqli_connect("localhost","root","root","system_bloglic_com_test");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
foreach($countryCode as $cCode){
mysqli_query($con,"INSERT INTO Contries (contries_id, contries_name, contries_code)
VALUES(NULL,$cCode,$countryName[$i])");
$i++;
}
当我运行这个时,我没有得到任何错误,但是数据库中没有插入任何行?
答案 0 :(得分:2)
你检查了mysqli_error();它将帮助您找到确切的错误。 如果发生错误,则返回FALSE。在这种情况下,mysqli_error()会为您提供有关错误的更多信息。
$result = mysqli_query($con,"INSERT INTO Contries (contries_id, contries_name, contries_code)
VALUES(NULL,$cCode,$countryName[$i])");
if ( false===$result ) {
printf("error: %s\n", mysqli_error($con));
}
else {
echo 'done.';
}
答案 1 :(得分:1)
你应该改变
mysqli_query(...);
进入
mysqli_query(...) or die("error in query: " . mysqli_error($con));
回应任何错误。否则会忽略错误。
答案 2 :(得分:1)
您的字符串值应始终用引号括起来
mysqli_query($con,"INSERT INTO Contries (contries_id, contries_name, contries_code)
VALUES(NULL,'{$cCode}','{$countryName[$i]}')");
并且您应该按照其他人使用die()
方法
答案 3 :(得分:0)
您需要检查代码中的错误。
if(!mysqli_query($con,"INSERT INTO Contries (contries_id, contries_name, contries_code)
VALUES(NULL,'$cCode','$countryName[$i]')")){
echo mysqli_error($con);
}