簡體   English   中英

如何在php的mysql查詢中使用占位符

[英]how to use placeholders in mysql queries from php

我正在嘗試進行這樣的准備查詢:

$stmt=$mysqli->prepare("SELECT zonasrepartoid, calle, municipio, codigopostal FROM zonasreparto WHERE municipio like concat('%',:m,'%')")
                $stmt->bind_param(':m',$incity);
                $stmt->execute();

我試圖以不同的方式多次使用%,但是我沒有更多關於如何使用它的想法,只是使它起作用。 如果有人能告訴我出什么問題了,我將不勝感激。

先感謝您!

%括住您的輸入,而不是將其放入查詢中:

... WHERE municipio like ?")

$stmt->bind_param('s', '%' . $incity . '%');

PDO庫(而不是MySQLi)支持放置命名占位符的語法。 對於MySQLi,第一個參數指示變量的類型(例如, i =整數, s =字符串等)。

這讓我想知道您從何而來的將“:letter”占位符與原始mysqli一起使用的想法。

在手冊的任何地方都找不到這樣的語法。 其余方法都可以。

$sql = "SELECT zonasrepartoid, calle, municipio, codigopostal FROM zonasreparto 
        WHERE municipio like concat('%',?,'%')"
$stmt=$mysqli->prepare($sql);
$stmt->bind_param('s', $incity);
$stmt->execute();

確實真的需要練習示例,而不是盲目地使用隨機語法進行射擊。 那是您的主要也是唯一的問題。

暫無
暫無

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

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