与摊贩产生的结果的MySQL更新表

问题描述 投票:0回答:1

我有一个我想与随机生成的结果更新的联系人表:

+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
| company_id | tinyint(1)   | NO   |     | 0       |                |
| name       | varchar(255) | NO   | MUL | NULL    |                |
| phone      | varchar(25)  | NO   | MUL | NULL    |                |
| email      | varchar(255) | NO   | MUL | NULL    |                |
+------------+--------------+------+-----+---------+----------------+

所以我用

require_once "/vendor/fzaninotto/faker/src/autoload.php";

$faker = Faker\Factory::create('ru_RU');
$faker->addProvider(new Faker\Provider\ru_RU\Payment($faker));

挂钩摊贩,改变区域设置ru_RU

然后我遍历我的数据库更改的所有电话号码:

for ($i = 1; $i < ; $i++) {
    $phone = $faker->phoneNumber;
    echo $phone;

    $sql = "UPDATE contact
              SET phone = :phone WHERE 1";
    $stmt = $pdo->prepare($sql);
    $stmt->execute(array(
        ':phone' => $phone,
    ));
}

在控制台回声打印出所有不同的数字,但在数据库中的所有记录,得到了相同的号码!哪里是我的错误?

php mysql pdo mariadb faker
1个回答
0
投票

只是一个错字。应该

$sql = "UPDATE contact
              SET phone = :phone WHERE id = :id";
    $stmt = $pdo->prepare($sql);
    $stmt->execute(array(
        ':phone' => $phone,
        ':id' => $i
    ));

的原因。

© www.soinside.com 2019 - 2024. All rights reserved.