我有一个联系人表,我想用随机生成的来更新 结果:
+------------+--------------+------+-----+---------+----------------+
| 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));
连接 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,
));
}
在控制台中 echo 打印所有不同的数字,但打印数据库中的所有记录 得到相同的号码!我的错误在哪里?
最佳答案
只是一个错字。应该是
$sql = "UPDATE contact
SET phone = :phone WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute(array(
':phone' => $phone,
':id' => $i
));
有原因。
关于php - MySQL 用 faker 生成的结果更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54541386/