Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php foreach循环插入mySQL_Php_Mysql - Fatal编程技术网

从php foreach循环插入mySQL

从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(

我知道这个问题已经被问了很多次了,但我似乎无法解决这个问题。我正在运行下面的代码,但它只返回fail。当我运行

$query1->插入数字计数、代码、奖金、打印值“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

**如果我改变

"$代码['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版本中需要。根据本页的示例,不是: