我目前正在为一个客户端项目工作,但因为我是pdo新手,我不知道如何处理它继续吐出的错误。我正在使用的代码也不是我的,所以这给混合添加了一些混淆。它不断告诉我:PDO mysql错误
Query failed: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server
version for the right syntax to use near '' at line 1
我有误差缩小到这些行:
$regid = $dbh->lastInsertId('');
$dupsid = true;
while ($dupsid){
srand((double)microtime()*1000000);
$maxrand = 100000000;
$rand_sid = rand();
$check_sid = "select reguniqid from v_events_registrants where reguniqid = :RAND_SID";
$stmt = $dbh->prepare($check_sid);
$stmt->bindValue(':RAND_SID', $rand_sid);
$stmt->execute();
$num_result = $stmt->rowCount();
if ($num_result == 0) $dupsid = false;
}
$uniqid_upd = "update v_events_registrants set reguniqid = :RAND_SID where registrant_id = :REGID";
$stmt = $dbh->prepare($uniqid_upd);
$stmt->bindValue(':RAND_SID', $rand_sid);
$stmt->bindValue(':REGID', $regid);
$stmt->execute();
在这种情况下
这里$ REG在其中添加表的主键的最后几个项目。起初,我认为这是问题,但是当我清除了',并且'我得到一个无效的id错误,我猜测它来自pdo的下一次执行。请帮助,因为这个错误真的让我失望完成这个项目为我的客户。
我的猜测是'$ rand_sid'或'$ regid'没有值。 – Robbert
'var_dump($ rand_sid);'显示什么? –
int(445737646)string(3)“872”是我从var_dump或$ rand_sid和$ regid得到的。 – NSaid