簡體   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