<?php
const N = "\n";
if(!$mysqli = @mysqli_connect('127.0.0.1', 'root', 'password', 'site'))
exit('Fatal error: Couldn\'t connect to MySQL DB.');
if(mysqli_num_rows(mysqli_query($mysqli, 'SHOW TABLES LIKE `users`')) == 0) {
mysqli_query($mysqli,
'CREATE TABLE `users` ('.N.
' `id` int(11) unsigned NOT NULL auto_increment,'.N.
' `email` varchar(30) NOT NULL,'.N.
' `password` varchar(32) NOT NULL,'.N.
' PRIMARY KEY (`id`)'.N.
') ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;'
);
}
mysqli_query()
выдаёт false, хотя запрос валидный. Что не так? CREATE TABLE IF NOT EXISTS `users`
`id` int(11) unsigned NOT NULL auto_increment,
`email` varchar(30) NOT NULL,
`password` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1
if(mysqli_num_rows(mysqli_query($mysqli, 'SHOW TABLES LIKE `users`'))==0)
if(mysqli_query($mysqli, "
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) unsigned NOT NULL auto_increment,
`email` varchar(30) NOT NULL,
`password` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
")===false)
echo 'Error!<br>';
echo mysqli_error($mysqli);
Error!
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`users`' at line 1
if(mysqli_query($mysqli, '
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) unsigned NOT NULL auto_increment,
`email` varchar(30) NOT NULL DEFAULT '',
`password` varchar(32) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
')===false)
echo 'Error!<br>';
echo mysqli_error($mysqli);
if(!$query=@mysqli_query($mysqli, "SELECT COUNT(id) FROM users WHERE email='".mysqli_real_escape_string($mysqli, $_POST['email'])."'"))
exit('Fatal error: '.mysqli_error($mysqli));
if(mysqli_num_rows($query)>0)
$error.='Такой email уже зарегистрирован!'.BR;
if(!$query=@mysqli_query($mysqli, "SELECT COUNT(id) FROM users WHERE email='".mysqli_real_escape_string($mysqli, $_POST['email'])."'"))
exit('Fatal error: '.mysqli_error($mysqli));
if(mysqli_num_rows($query)>0)
echo 'Такой email уже зарегистрирован!<br>';