簡體   English   中英

PDO 占位符的有效字符

[英]PDO valid characters for placeholders

在 PHP 和 PDO 中,我們限制使用哪些字符。 我已經嘗試查看文檔和在線但無濟於事。

我確實找到了一個帖子,其中用戶在名稱中使用了連字符,這破壞了查詢。 我正在寫一個動態生成這些名稱的 function 並且由於連字符不是 nos,我想知道是否有一個替代列表。

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

那么在這個例子中,字符串 ':color' 中允許使用哪些字符?

最簡單的方法是查看源代碼

BINDCHR     = [:][a-zA-Z0-9_]+;

您可以使用字母數字 + 下划線。

如果我正確閱讀PDO SQL 解析器源代碼,它是字母數字字符加下划線。

暫無
暫無

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

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