Php 如何缩小插入和打印查询?
我有两个PHP/SQL函数,我想知道如何缩小它们。我希望将3个insert命令作为单个$import运行,而不是三个,但我不确定如何缩小它Php 如何缩小插入和打印查询?,php,mysql,Php,Mysql,我有两个PHP/SQL函数,我想知道如何缩小它们。我希望将3个insert命令作为单个$import运行,而不是三个,但我不确定如何缩小它 $import9="INSERT into wp_postmeta (meta_id,post_id,meta_key,meta_value) values(',','$data[37]','lower_electric_costs','$data[5]')"; $import10="INSERT into wp_postmeta (meta_id,post
$import9="INSERT into wp_postmeta (meta_id,post_id,meta_key,meta_value) values(',','$data[37]','lower_electric_costs','$data[5]')";
$import10="INSERT into wp_postmeta (meta_id,post_id,meta_key,meta_value) values(',','$data[37]','cheapest_green_electric','$data[6]')";
$import11="INSERT into wp_postmeta (meta_id,post_id,meta_key,meta_value) values(',','$data[37]','contract_type','$data[11]')";
这与我的打印结果是一样的-我如何缩小它
mysql_query($import9) or die("mysql_error()");
print $import9."<br>";
mysql_query($import10) or die("mysql_error()");
print $import10."<br>";
mysql_query($import11) or die("mysql_error()");
print $import11."<br>";
mysql\u query($import9)或die(“mysql\u error()”);
打印$import9。“
”;
mysql\u query($import10)或die(“mysql\u error()”);
打印$import10。“
”;
mysql\u query($import11)或die(“mysql\u error()”);
打印$import11。“
”;
我仍然在学习PHP/SQL,我认为学习如何缩小代码是其中的一个重要部分。如果有人能给我举一个缩小版的例子,那么我就可以从这里开始
谢谢您可以将其组合成一个查询,如下所示:
$import9="
INSERT into
wp_postmeta
(meta_id,post_id,meta_key,meta_value)
values
(',','$data[37]','lower_electric_costs','$data[5]'),
(',','$data[37]','cheapest_green_electric','$data[6]'),
(',','$data[37]','contract_type','$data[11]')
";
但是,您应该使用mysqli
而不是mysql
函数,因为mysql
函数已被弃用
mysqli_query($import9);
还建议您不要将INSERT查询用于mysqli\u query
,而是出于安全原因使用准备好的语句。你应该退房并离开
首先,创建一个PDO实例
$db = new PDO("mysql:host=localhost;port=3306;dbname=mydb", "username", "password");
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); //Turn off prepared statement emulation too.
使用已准备好的语句,您将在服务器上准备您的语句:
$stmt = $db->prepare("
INSERT into
wp_postmeta
(meta_id,post_id,meta_key,meta_value)
values
(?,?,?,?)
");
使用如下数组:
$values = array(
array(',',$data[37], 'lower_electric_costs', $data[5]),
array(',',$data[37], 'cheapest_green_electric', $data[6]),
array(',',$data[37], 'contract_type', $data[11]),
);
接下来,您将发出一系列execute语句:
foreach ($values as $v) {
$stmt->execute($v);
}
最后,关闭语句,以便可以执行更多语句:
$stmt->closeCursor();
您可以将其组合为一个查询,如下所示:
$import9="
INSERT into
wp_postmeta
(meta_id,post_id,meta_key,meta_value)
values
(',','$data[37]','lower_electric_costs','$data[5]'),
(',','$data[37]','cheapest_green_electric','$data[6]'),
(',','$data[37]','contract_type','$data[11]')
";
但是,您应该使用mysqli
而不是mysql
函数,因为mysql
函数已被弃用
mysqli_query($import9);
还建议您不要将INSERT查询用于mysqli\u query
,而是出于安全原因使用准备好的语句。你应该退房并离开
首先,创建一个PDO实例
$db = new PDO("mysql:host=localhost;port=3306;dbname=mydb", "username", "password");
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); //Turn off prepared statement emulation too.
使用已准备好的语句,您将在服务器上准备您的语句:
$stmt = $db->prepare("
INSERT into
wp_postmeta
(meta_id,post_id,meta_key,meta_value)
values
(?,?,?,?)
");
使用如下数组:
$values = array(
array(',',$data[37], 'lower_electric_costs', $data[5]),
array(',',$data[37], 'cheapest_green_electric', $data[6]),
array(',',$data[37], 'contract_type', $data[11]),
);
接下来,您将发出一系列execute语句:
foreach ($values as $v) {
$stmt->execute($v);
}
最后,关闭语句,以便可以执行更多语句:
$stmt->closeCursor();
如果您仍然直接在查询中插入内容,那么使用mysqli
不会给您带来很多好处。使用占位符。没错,但他只是在学习。不过,我们已经为这类事情做了准备。确切地说:这是他应该学习使用占位符的时候,所以他已经习惯了。从一开始就做好。修改为包括PDO和准备好的声明概述。好吧,这给我的一天增添了全新的困惑:(如果你仍然直接在查询中插入内容,那么使用mysqli
不会给你带来很多好处。使用占位符。没错,但他只是在学习。不过,为这类事情做了准备。确切地说:这是他应该学习使用占位符的时候,所以他已经养成了习惯。从一开始就做。Modified包括PDO和准备好的声明概述。好吧,这给我的一天增添了全新的混乱:(