Я конвертирую в PDO, и у меня возникла проблема с преобразованием в раздел, где он проверяет, принято ли имя пользователя и адрес электронной почты.PDO и проверка наличия имени пользователя или электронной почты
ниже код:
<?php
session_start();
$host = "localhost";
$username = "root";
$password = "123";
$dbname = "test";
$conn = new PDO("mysql:host=$host;dbname=$dbname",$username,$password);
?>
<?php
if(isset($_POST['register'])){
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$usernamecheck = $conn->query("SELECT `id` FROM `user` WHERE username='$username'");
$emailcheck = $conn->query("SELECT `id` FROM `user` WHERE email='$email'");
if(mysql_num_rows($usernamecheck) > 0){
echo "That username is already taken";
}elseif(mysql_num_rows($emailcheck) > 0){
echo "That e-mail address is already in use";
}
?>
Ошибки я получаю в двух следующих строках:
если (mysql_num_rows ($ usernamecheck)> 0) {
} ElseIf (mysql_num_rows ($ emailcheck)> 0) {
Спасибо заранее.
См. Http://stackoverflow.com/questions/2304315/get-number-of-rows-from-a-select-statement, но учтите, что в настоящее время вы получаете _none_ преимущества использования PDO, поскольку вы не используя параметризованные запросы. Ваш код по-прежнему уязвим для SQL-инъекций. –
Я настоятельно рекомендую [чтение этого урока] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers) –
Вы не можете смешивать функции mysql_ и PDO вместе. Ручки базы данных не взаимозаменяемы. Выберите тот или другой. Не оба. – Charles