Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2018, 06:12   #1
artbotva
Форумчанин
 
Аватар для artbotva
 
Регистрация: 17.03.2012
Сообщений: 105
Печаль Проблемы с MySQLi

Доброго времени!

Есть код на php.
Код:
<?php
$login = $_GET['l'];
$Stid = $_GET['s'];
$connect = mysqli_connect('127.0.0.1', 'log', 'pass', 'db');
$sql = mysqli_query($connect, "SELECT users FROM db WHERE nickname = '$login'");
$result = mysqli_query($connect, $sql) or die (mysqli_error($connect));
if(mysqli_num_rows($result)==0){ 
    $query = mysqli_query($connect, "INSERT INTO users VALUES ('','$Stid','$login')"); 
}else{ 
    echo "Такая запись уже существует!"; 
}

?>
Выдает ошибку

Код:
Warning: mysqli_query(): Empty query in /var/www/u0415445/data/www/craftgo.ru/reg.php on line 6
Table 'db.db' doesn't exist
Что-то уже запарился, может подскажет кто-чего?
Недостижение того, что ты хотел, является иногда лучшим подарком судьбы
artbotva вне форума Ответить с цитированием
Старый 24.01.2018, 07:07   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Оно же пишет - нет таблицы db.db
Что непонятно?
Black Fregat вне форума Ответить с цитированием
Старый 24.01.2018, 07:20   #3
artbotva
Форумчанин
 
Аватар для artbotva
 
Регистрация: 17.03.2012
Сообщений: 105
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Оно же пишет - нет таблицы db.db
Что непонятно?
Я только начал изучать взаимодействие php и mysqli, и не совсем понимаю почему скрипт пытается найти базу "db.db" (которой, разумеется нету), вместо "db".
Собственно вот тут скорее всего ошибка
Код:
$sql = mysqli_query($connect, "SELECT users FROM db WHERE nickname = '$login'");
Буду очень признателен если укажете как правильно это переписать. Уточню сама БД носит имя - bd, а структура в ней - users. Мне нужно выполнить поиск по структуре на наличие в ней идентичного значения login
Недостижение того, что ты хотел, является иногда лучшим подарком судьбы

Последний раз редактировалось artbotva; 24.01.2018 в 07:24.
artbotva вне форума Ответить с цитированием
Старый 24.01.2018, 08:14   #4
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Структура данных такая: под задачу создаётся база (database), её имя указывается в mysqli_connect. Внутри базы может быть одна или несколько таблиц (table), в sql как раз создаются имена таблиц. Перед работой таблицы нужно создать. Они созданы? Тогда приведите структуру
Black Fregat вне форума Ответить с цитированием
Старый 24.01.2018, 10:57   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

PHP код:
if (!empty($_GET['l']) && !empty($_GET['s'])) {
    
// экранируем данные для запроса!
    
$login mysqli_real_escape_string($connect$_GET['l']);
    
$Stid mysqli_real_escape_string($connect$_GET['s']);

    
$connect mysqli_connect('127.0.0.1''log''pass''db');
    
$result mysqli_query($connect"SELECT * FROM `users` WHERE `nickname` = '$login'");

    if (
mysqli_num_rows($result) == 0) { 
        
$query mysqli_query($connect"INSERT INTO `users` VALUES ('','$Stid','$login')"); 
    }
    else { 
        echo 
"Такая запись уже существует!"
    }

Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не извлекает данные из бд mysqli amirito SQL, базы данных 5 31.10.2016 20:26
Проблема с mysqli Belzik PHP 6 05.03.2016 14:16
Не работает подключение к MYSQLI rosqwlll PHP 4 11.11.2015 08:17
Вопросы по php, mysqli RSST PHP 6 19.07.2013 13:52
MySqli cashmail PHP 2 09.01.2012 21:01