Php 在数组_push中只能通过引用传递变量
我想在数据库表中插入一百万行,我试图通过在数组中推送值,每次插入1000行Php 在数组_push中只能通过引用传递变量,php,arrays,Php,Arrays,我想在数据库表中插入一百万行,我试图通过在数组中推送值,每次插入1000行 $pdo = new PDO ('mysql:host=localhost;port=3306;dbname=dbname;', 'root', ''); $batch_size = 1000; $sql = "INSERT INTO `table` (`sector`,`keyword`,`location`,`position`) VALUES "; // Add 1,000 value lists $sql .
$pdo = new PDO ('mysql:host=localhost;port=3306;dbname=dbname;', 'root', '');
$batch_size = 1000;
$sql = "INSERT INTO `table` (`sector`,`keyword`,`location`,`position`) VALUES ";
// Add 1,000 value lists
$sql .= str_repeat("(?,?,?,?),", $batch_size-1);
$sql .= "(?,?,?,?),";
$stmt = $pdo->prepare($sql);
for ($i = 0; $i < (1000000/$batch_size); $i++) {
$vals = array();
for ($j = 0; $j < $batch_size; $j++) {
array_push("5","5","5","5"); // <-- error
}
$stmt->execute($vals);
}
$pdo=newpdo('mysql:host=localhost;port=3306;dbname=dbname;','root','');
$batch_size=1000;
$sql=“插入到‘表’(‘扇区’、‘关键字’、‘位置’、‘位置’)值中”;
//添加1000个价值列表
$sql.=str_repeat(“(?,?,?,?),”,$batch_size-1);
$sql.=“(?,?,?,?),”;
$stmt=$pdo->prepare($sql);
对于($i=0;$i<(1000000/$batch_size);$i++){
$vals=array();
对于($j=0;$j<$batch_size;$j++){
数组_push(“5”、“5”、“5”、“5”);//执行($VAL);
}
我得到一个错误:只有变量可以通过行中的引用传递:(array_push…)
您能提出解决方案吗?谢谢您错过了要插入的阵列 这本书告诉你: 参数 排列
- 输入数组
- 要推送到数组末尾的值
array_push(“5”、“5”、“5”、“5”);
您需要添加要阵列\u push的阵列。如下所示:
array_push($vals, "5", "5","5","5");
你错过了你要插入的阵列 这本书告诉你: 参数 排列
- 输入数组
- 要推送到数组末尾的值
array_push(“5”、“5”、“5”、“5”);
您需要添加要阵列\u push的阵列。如下所示:
array_push($vals, "5", "5","5","5");
尝试使用PDO Prepared语句插入多个值您忘了告诉
array\u push
要将这些值推送到哪个数组!我的行应该是:array\u push($vals,“5”、“5”、“5”)尝试使用PDO准备语句插入多个值您忘了告诉array\u push
要将这些值推送到哪个数组!我的行应该是:array\u push($vals,“5”、“5”、“5”);