繁体   English   中英

从php foreach循环插入MySQL

[英]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_,它的工作原理基本相同。

http://php.net/manual/en/function.mysql-query.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM