Php 为什么sql查询无法运行?
我使用pdo插入数据,实际上,sql可以在phpmyadmin中运行,它不会抛出错误,它只是不插入(不插入任何内容),数据是正确的,为什么会发生这种情况?多谢各位Php 为什么sql查询无法运行?,php,mysql,pdo,Php,Mysql,Pdo,我使用pdo插入数据,实际上,sql可以在phpmyadmin中运行,它不会抛出错误,它只是不插入(不插入任何内容),数据是正确的,为什么会发生这种情况?多谢各位 try { $query='INSERT INTO user_smtp (SmtpID,UserID,LoginID,Pwd) VALUES (?,?,?,?)'; $stmt = $conn->prepare($query); //$stmt->execute(array($_SESSION['s
try {
$query='INSERT INTO user_smtp (SmtpID,UserID,LoginID,Pwd) VALUES (?,?,?,?)';
$stmt = $conn->prepare($query);
//$stmt->execute(array($_SESSION['smtpEdit'],$_SESSION['username'],$login,$pwd));
$stmt->execute(array('22','id','as','asdasd'));
}
catch(PDOException $e)
{
die ("<div class='alert alert-error'>".$e->getMessage()."<a href='setting.php'> Back</a>");
}
试试看{
$query='INSERT INTO user_smtp(SmtpID、UserID、LoginID、Pwd)值(?,,,?)';
$stmt=$conn->prepare($query);
//$stmt->execute(数组($_会话['smtpEdit'],$_会话['username'],$login,$pwd));
$stmt->execute(数组('22','id','as','asdasd');
}
捕获(PDO$e)
{
死亡(“$e->getMessage()”);
}
您确定捕获了所有内容吗?$stmt
是否返回true?如果使用此$stmt->execute(数组(22,'id','as','asdasd'),是否有效代码>?换句话说:您是在为基于字符的数据字段传递字符串,还是为基于数字的数据字段传递数字?@horatio,不,我试过了,谢谢。@Neal,两个$stmt都返回了true@LeoChan您是否确保它不是数据类型不匹配?数组中的第一项是'22',…
而不是22,…
如果SmtpID是整数数据类型,则可能会在那里出错。