【发布时间】:2022-11-24 01:21:27
【问题描述】:
有用。但是也许有一种方法可以在没有 mysqli_real_escape_string 的情况下将其变成单个 MySQL 查询?
//GETS VALUES
$sql = "SELECT * FROM `fddq_product_lang` WHERE id_product='19627' AND id_lang='3'";
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_array($result)){
//PREPARES VALUES
$id_product= $row['id_product'];
$name= mysqli_real_escape_string($conn,$row['name']);
$ndescription=mysqli_real_escape_string($conn,$row['description']);
$ndescription_short=mysqli_real_escape_string($conn,$row['description_short']);
$link_rewrite=mysqli_real_escape_string($conn,$row['link_rewrite']);
//UPDATE
$conn->query("UPDATE `fddq_product_lang` SET `description` = '$ndescription', `name` = '$name',`description_short` = '$ndescription_short',`link_rewrite` = '$link_rewrite' WHERE `fddq_product_lang`.`id_product` = '$id_product' AND (`fddq_product_lang`.`id_lang` = '1' OR `fddq_product_lang`.`id_lang` = '2' OR `fddq_product_lang`.`id_lang` = '5') ");
我正在尝试优化代码以加快执行速度并学习新知识。
【问题讨论】:
-
是的,你可以这么做。您已经可以毫不费力地在网上找到示例。
-
您可以使用 id_lang IN ('1', '2', '5') 稍微缩短 UPDATE 查询。我很想知道如何组合 UPDATE 和 SELECT 以使用多列数据,因为这是我以前尝试过但从未找到过的方法。