簡體   English   中英

php mysql,變量幫助查詢幫助

[英]Php mysql, variable help query help

我有這個mysql查詢:

UPDATE `table`.`wp_12_postmeta` 
   SET `meta_value` = 'yyy' 
 WHERE `wp_12_postmeta`.`meta_id` =5 
 LIMIT 1 ;

我如何合並這個:

  • 而不是wp_12_我想要一個變量$prefix (變量保存wp_4_,wp_3_等)
  • 而不是yyy我想要一個值$perf (變量是一個名字)
  • 而不是5我想要一個值$meta_id (變量是一個nr)

感謝你!

PS

這是我使用的,它的工作原理:

$wpdb->query("UPDATE ".$prefix."postmeta SET meta_value = '".$perf."' WHERE meta_id = '".$meta_id."' LIMIT 1 "); 

問題是,當我執行此查詢時,將更新segl post meta字段,而不僅僅是一個。

使用:

$query = sprintf("UPDATE `table`.`%s` 
                    SET `meta_value` = '%s' 
                  WHERE `%s`.`meta_id` = %d 
                   LIMIT 1 ",
                 mysql_real_escape_string($prefix),
                 mysql_real_escape_string($perf),
                 mysql_real_escape_string($prefix),
                 mysql_real_escape_string($meta_id));

這是我用PDO寫這個的方法:

$prefix = "wp_4_";
$sql = "UPDATE `table`.`{$prefix}postmeta` SET `meta_value` = ? 
  WHERE `{$prefix}postmeta`.`meta_id` = ? LIMIT 1";

$stmt = $pdo->prepare($sql);
$stmt->execute(array($perf, $meta_id));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM