我的代码正在运行,但是在插入查询以检查MYSQL数据库中的名字是否已存在后,它不再起作用。在这里您可以看到我的代码,如果您对如何完成这项工作有任何建议,我将不胜感激。非常感谢你!
我尝试使用mysql_num_rows命令,但似乎我没有正确使用它。
<?php
require_once __DIR__.'/connect.php';
$sName = $_POST['txtName'];
$query = mysql_query("SELECT * FROM users WHERE firstName = '$sName' ");
if (mysql_num_rows ($query) > 0){
echo 'User with this name already exists';
}else{
try {
$stmt = $db->prepare('INSERT INTO users
VALUES (null, :sName, :sLastName, :sEmail, :sCountry )');
$stmt->bindValue(':sName', $sName);
$stmt->execute();
echo 'New user was successfully inserted';
} catch (PDOEXception $ex) {
echo $ex;
}
}
答案 0 :(得分:3)
(根据正在运行的其余代码)连接mysql_query
时,您尝试使用PDO
。更改查询以使用现有连接:
try {
$stmt = $db->prepare("SELECT COUNT(*) FROM users WHERE firstName = :sName");
$stmt->bindValue(':sName', $sName);
$stmt->execute();
$num_rows = $stmt->fetchColumn();
}
catch (PDOEXception $ex) {
echo $ex;
}
if ($num_rows > 0) {
echo 'User with this name already exists';
}
else {
// the rest of your code here