PHP / DB2准备语句时出错

时间:2011-04-06 15:52:41

标签: php db2

尝试使用PHP 5.3.3

尝试db2_prepare()语句时出现此错误

我做了其他db2_prepare语句没有错误,知道这里可能有什么问题吗?

“错误:42601:令牌'?'无效。有效令牌:ROW ROWS.SQLCODE = -104“

这是我遇到问题的代码行。

$sql_featRand = "SELECT filine, fiitem FROM files.tablex ORDER BY RAND() FETCH FIRST ? ROWS ONLY";
$db_prepRand = db2_prepare($dbConnection, $sql_featRand); if ($db_prepRand === FALSE) { echo "Unable to prepare statement- Error: " . db2_stmt_error() . ": " . db2_stmt_errormsg(); die(); }

2 个答案:

答案 0 :(得分:0)

你必须有一个db2_execute语句来转换?在你准备的选择陈述中给一个数字。

答案 1 :(得分:0)

这是因为您无法在FETCH FIRST n ROWS子句中使用参数标记。您必须指定一个实际值。

不幸的是,这意味着您要么必须准备多个语句,要么在阅读了您感兴趣的行数后停止提取行。