我正在尝试使用pdo从php执行以下sql:第一个月
当我这样做时:
$sql = 'SELECT * FROM my__table WHERE name=?' ;
$stmt = $dbconn->prepare($sql);
$stmt->bindValue(1, $_POST['name'], PDO::PARAM_STR);
$stmt->execute();
我得到一个空的结果集。
当我这样做时:
$sql = 'SELECT * FROM my__table WHERE name=\''.$_POST['name'].'\'' ;
$stmt = $dbconn->prepare($sql);
$stmt->execute();
我得到了我需要的那一行。
列"name"是一个VARCHAR(32)。此错误仅发生在字符串中。当绑定参数是sql INTEGER时,一切都按预期运行。
我在Ubuntu上的Apache下使用sqlite3,php 5.2.6。
2条答案
按热度按时间93ze6v8z1#
这两种方法都应该有效:
不使用绑定
使用命名参数
bq3bfh9z2#
这个呢?