我想只在db(mySQL)中没有对应的情况下才进行插入,但他不是声明.这是片段
if ($sql->rowCount() > 0) {
echo 'Non inserisci';
} else {
echo 'Inserisci';
$db->beginTransaction();
echo 'Ciao3';
$sql = $db->prepare("INSERT INTO contatti (nome,cognome) VALUES (?,?)") or die('Ciao2');
echo 'Ciao4';
$sql->execute(array($_POST['nome'],$_POST['cognome']));
echo 'Ciao5';
$db->rollBack();
}
Run Code Online (Sandbox Code Playgroud)
SELECT是哪里
$db->beginTransaction();
$sql = $db->prepare("SELECT * FROM contatti WHERE nome = ? AND cognome = ? WHERE nome = ? AND cognome = ?") or die ('Ciao1');
$sql->execute(array($_POST['nome'],$_POST['cognome']));
$db->rollBack();
Run Code Online (Sandbox Code Playgroud)
你能解释一下我的错在哪里吗?
Sir*_*rko 12
看来你在这里做了一点太多的复制/粘贴:
$sql = $db->prepare("SELECT * FROM contatti WHERE nome = ? AND cognome = ? WHERE nome = ? AND cognome = ?") or die ('Ciao1');
Run Code Online (Sandbox Code Playgroud)
应该只是
$sql = $db->prepare("SELECT * FROM contatti WHERE nome = ? AND cognome = ?") or die ('Ciao1');
Run Code Online (Sandbox Code Playgroud)
您已将该WHERE条款翻倍.
错误在于算术
我们算一下代币:
SELECT * FROM contatti WHERE nome = ? // one
AND cognome = ? // two
WHERE nome = ? // three
AND cognome = ? // four
Run Code Online (Sandbox Code Playgroud)
现在让我们计算绑定变量的数量:
array($_POST['nome'], // one
$_POST['cognome']) // two
Run Code Online (Sandbox Code Playgroud)
4显然不等于2.那就是问题所在
| 归档时间: |
|
| 查看次数: |
18545 次 |
| 最近记录: |