[英]Insert into mySQL from php foreach loop
我知道这个问题已经被问了很多遍了,但是我似乎无法弄清楚这个问题。 我正在运行以下代码,但它只会返回失败。 当我运行输出
$ query1-> INSERT INTO编号(count,code,prize,printed)VALUES('1','Q0stZr0g8uc4syE','','0');
直接插入phpmyadmin,它可以插入。 我一定在做蠢事...有什么想法吗?
$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());
**如果我改变
'“。$ code ['prize']。”'
到“ 0”,我仍然收到相同的错误。
为了清楚起见,这是代码的更正版本:
$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));
}
我在这里可能是错误的,但我认为]之后和之后需要空格。 像这样:
'" . $code['count'] . "'
代替
'". $code['count']."'
哦,还有一些可能会很方便并且很高兴知道的东西,mysql_query已被弃用并且不安全,除非您在本地主机上自己使用它,否则我建议您看看mysqli_,它的工作原理基本相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.