从php foreach循环插入mySQL
我知道这个问题已经被问了很多次了,但我似乎无法解决这个问题。我正在运行下面的代码,但它只返回fail。当我运行 $query1->插入数字计数、代码、奖金、打印值“1”、“Q0stZr0g8uc4syE”、“0” 直接插入phpmyadmin,插入很好。我一定是在做傻事。。。有什么想法吗从php foreach循环插入mySQL,php,mysql,Php,Mysql,我知道这个问题已经被问了很多次了,但我似乎无法解决这个问题。我正在运行下面的代码,但它只返回fail。当我运行 $query1->插入数字计数、代码、奖金、打印值“1”、“Q0stZr0g8uc4syE”、“0” 直接插入phpmyadmin,插入很好。我一定是在做傻事。。。有什么想法吗 $times_to_run = 100; $prize=''; for($i=1;$i<=$times_to_run;$i++){ $array[] = array(
$times_to_run = 100;
$prize='';
for($i=1;$i<=$times_to_run;$i++){
$array[] = array(
'count' => $i,
'code1' => randomString(),
'prize' => $prize
);
}
$codes = $array;
foreach ($codes as $code){
$query1 = "INSERT INTO number (count,code,prize,printed) VALUES ('". $code['count']."','". $code['code1']."','". $code['prize']."','0');";
$q = mysqli_query($query1) or die (mysql_error());
}
编辑:我将查询更改为使用mysqli,并得到完整错误,即:
实际误差为:
警告:mysqli_query至少需要2个参数,1个给定参数,它指向的行是:$q=mysqli_query$query1或die mysql_error
**如果我改变
"$代码['prize']。'
对于“0”,我仍然会遇到相同的错误。我可能在此处出错,但我认为在]之后和之后需要空格。 像这样:
'" . $code['count'] . "'
而不是
'". $code['count']."'
哦,还有一件事可能很方便,也很好知道,mysql_查询是不推荐使用的和不安全的,除非你在本地主机上自己使用它,我建议你看看mysqli_,它的工作原理基本相同
为了清楚起见,下面是您的代码的更正版本:
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$times_to_run = 100;
$prize='';
for($i=1;$i<=$times_to_run;$i++){
$array[] = array(
'count' => $i,
'code1' => randomString(),
'prize' => $prize
);
}
$codes = $array;
foreach ($codes as $code){
$query1 = "INSERT INTO number (count,code,prize,printed) VALUES ('". $code['count']."','". $code['code1']."','". $code['prize']."','0')";
$q = mysqli_query($link, $query1) or die (mysqli_error($link));
}
如果您返回实际错误,您就会知道问题所在。看起来不错。但为什么不使用?$prize=;其中没有任何内容。此外,您的or die“FAIL-”。$query1应更改为or DIEU error以获取真正的错误。根据您的编辑,消息是清楚的。它需要传递另一个参数。请仔细阅读函数-Plus,您不能将mysql_uu与mysqli_uuuAPI混合使用。你应该向我们展示更多的代码和你用来连接的API;问题所在的PHP版本中需要。根据本页的示例,不是: