SQL绑定值/ param到准备好的语句不起作用

时间:2018-05-11 16:59:27

标签: php sql

我已经尝试过搜索,但由于缺乏经验或对我这方面的了解,我在这个问题上找不到任何帮助 - 我不是一个非常有经验的程序员。

我正在创建一个简单的Web表单,用于查询SQLite数据库并根据两个日期返回所有行。今天的日期和今天的日期+一个整数,代表未来的天数。数据库中的所有日期都以格式化文本格式存储:YYYY-MM-DD。我在服务器上使用PHP。

我的工作方式如下:

$sql = "SELECT * FROM walk WHERE walk_date BETWEEN strftime(date('now')) AND strftime(date('now', '" . webdata['int_passed_from_form'] . " day'))";
$stmt = $db->prepare( $sql );
$result = $stmt->execute()

但我不能为我的生活弄清楚为什么我不能将整数绑定到准备好的语句中:

$sql = "SELECT * FROM walk WHERE walk_date BETWEEN strftime(date('now')) AND strftime(date('now', ':date day'))";
$stmt = $db->prepare( $sql );
$stmt->bindValue(':date', $webdata['int_passed_from_form'], SQLITE3_INTEGER);
$result = $stmt->execute() 

或者:

$sql = "SELECT * FROM walk WHERE walk_date BETWEEN strftime(date('now')) AND strftime(date('now', ':date day'))";
$stmt = $db->prepare( $sql );
$stmt->bindValue(':date', $webdata['int_passed_from_form'], SQLITE3_TEXT);
$result = $stmt->execute() 

我做错了什么?我整天都在撞墙。任何帮助将不胜感激。

感谢。

0 个答案:

没有答案