Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

помоги mysqli_connect не работает почему

Вадим Яковлев Ученик (88), закрыт 4 месяца назад
я объявил дб глобальным . но в файле account
строчка if(mysqli_num_rows(mysqli_query($db, "SELECT `id` FROM `users` WHERE `wallet` = '$_POST[wallet]'")))

есть ошибка а точнее в $db оно светиться красным
не понимаю что не так помогите ребята!
------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------index.php файл---------------------------------------------------внизу
function db() {
global $db;
$db = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if (!$db)
exit('Ошибка подключеня к БД');
}

--------------------------------------account.php----------------------------------------------внизу

if ($_POST['register_f']) {

if (!$_POST['g-recaptcha-response'])
message('Капча введена неверно');

else if (!preg_match('/^[A-z0-9]{3,15}$/', $_POST['name']))
message('Псевдоним может содержать только латинские буквы и цифры без пробелов, длиной от 3 до 15 символов');

valid_wallet();

db();

if(mysqli_num_rows(mysqli_query($db, "SELECT `id` FROM `users` WHERE `wallet` = '$_POST[wallet]'")))
massage('позже напишу текст');
mysqli_query($db,"INSERT INTO `users` VALUES('','$_POST[name]', '$_POST[wallet]' )");

message('Всё ок');
}
Лучший ответ
del Мудрец (18973) 4 года назад
Зависит от версии PHP и установленных расширений
возможно у тебя не стоит расширение MySQLi для работы с базами mysql
проверить можно посмотрев на вывод функции phpinfo()
вызов этой функции отобразит все настройки php и все загруженные расширения
если phpinfo() ничего не выводит тогда в файле конфигурации исправь настройку phpinfo
Вадим ЯковлевУченик (88) 4 года назад
если стоит что делать ?? когда так всё работало я где то ошибся?
Остальные ответы
alexbad Гуру (3757) 4 года назад
mysqli_connect устаревшая ф-ция...
Используйте для работы с бд PDO.
$pdo = new PDO('mysql:host=localhost;dbname=имя_базы_данных','имя_пользователя', 'пароль_пользователя', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8"));

Оставьте контакты связи, я могу помочь в дальнейшем.
Вадим ЯковлевУченик (88) 4 года назад
во спасибо человек) я старой закалки очень давно писал
а не подскажешь а что теперь поменять в account.php
или может что ещё
alexbad Гуру (3757) Я помогу, только давайте перейдём в какую-нибудь соц. сеть? Очень уж неудобно здесь беседовать...
_Воланд_ Мыслитель (9604) 4 года назад
Ну, надеюсь, человек, отписавшийся выше, поможет, но вот $_POST[] в запросах к БД не надо использовать.
Похожие вопросы