Php 准备->;execute返回false
我在php/mySql中有一个小问题 代码如下:Php 准备->;execute返回false,php,mysql,session,pdo,Php,Mysql,Session,Pdo,我在php/mySql中有一个小问题 代码如下: $updateLastchange = "UPDATE lastchange SET student = ? date = ? WHERE tutor= ? "; $req = $db->prepare($updateLastchange); if($req->execute(array($_SESSION['toHelp'], $date, $_SESSION['email']))) { //some code that s
$updateLastchange = "UPDATE lastchange SET student = ? date = ? WHERE tutor= ? ";
$req = $db->prepare($updateLastchange);
if($req->execute(array($_SESSION['toHelp'], $date, $_SESSION['email'])))
{
//some code that should be executed
}
您还必须知道,“lastchange”实际上包含定义了tutor=$\u SESSION['email'],$\u SESSION['toHelp']的行,date只是一个稍早创建的日期(“Y-m-d H:i:s”)
问题是execute返回false,我有一个语法错误:
致命错误:未捕获的异常“PDOException”带有消息
'SQLSTATE[42000]:语法错误或访问冲突:1064您有
SQL语法错误;检查与您的产品相对应的手册
MySQL服务器版本,以便在“日期”附近使用正确的语法=
“2015-06-10 11:09:53”其中导师=“导师”
我不明白为什么
我使用WAMP(我不知道你是否需要知道)
谢谢你的帮助 您在查询中忘记了
,
:
$updateLastchange = "UPDATE lastchange SET student = ?, date = ? WHERE tutor= ? ";
如果希望在数据库中存储变量,我认为这是可能的(尽管我还没有尝试):
执行此操作时,只需使用单个勾号(
”
),而不是双勾号(“
)。您可以引用。在两列之间加一个逗号?!是的,这就是问题所在,谢谢!谢谢!我觉得有点愚蠢…只有一个问题:是否可以更新名称为变量的表?例如“更新”?设置…“稍后执行?”Raphallal如果我的答案对您有帮助,您可以升级投票或将我的答案标记为正确答案。我确实更新了关于存储变量名的答案。我的意思是,我希望我的表名是一个变量…我无法将您的答案设置为“已接受”“因为我必须等待7分钟。@Raphallal-是的,您可以在表名来自变量的地方执行查询<代码>“更新”。$tablename。“设置column1=?其中id=?”
$variable = '$variableYouWantToStore';