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

Что не так с этим php кодом?

НИКИТА С МАРСА Мастер (1930), закрыт 1 месяц назад
 $mysqli = new mysqli($server, $username, $password, $username); 

$stmt = $mysqli->prepare("INSERT INTO main(tag, val) VALUES (?, ?)");

$tag = $mysqli->query("SELECT tag FROM main");

$val = $mysqli->query("SELECT tag FROM main");

$val = $val + 1;

$stmt->bind_param("si", $tag, $val);

$stmt->execute();
Дополнен 1 месяц назад
Если дать переменным значение, всё работает, но как сделать если я хочу взять значение из таблицы и присвоить его переменной?
Лучший ответ
Рустам Абдрашитов Мыслитель (9465) 1 месяц назад
 $mysqli = new mysqli($server, $username, $password, $database); // Исправьте имя базы данных 

$result = $mysqli->query("SELECT tag FROM main");
$tag = $result->fetch_assoc()['tag']; // Извлечение значения

$result = $mysqli->query("SELECT COUNT(tag) as count FROM main");
$val = $result->fetch_assoc()['count'] + 1; // Получение количества и добавление 1

$stmt = $mysqli->prepare("INSERT INTO main(tag, val) VALUES (?, ?)");
$stmt->bind_param("si", $tag, $val);
$stmt->execute();
Остальные ответы
Артур Щетинин Ученик (105) 1 месяц назад
$val = $mysqli->query("SELECT tag FROM main"); тут ты вытаскиваешь значение поля tag, а не val.
НИКИТА С МАРСАМастер (1930) 1 месяц назад
Исправил, всё равно не работает
Артур Щетинин Ученик (105) НИКИТА С МАРСА, что выдает? какая ошибка?
Артур ЩетининУченик (105) 1 месяц назад
$mysqli = new mysqli($server, $username, $password); вот правильнее (лишний юзернейм был),
Артур ЩетининУченик (105) 1 месяц назад
 $mysqli = new mysqli($server, $username, $password);  

if ($mysqli ->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}

$stmt = $mysqli->prepare("INSERT INTO main(tag, val) VALUES (?, ?)");

$tag = $mysqli->query("SELECT tag FROM main");

$val = $mysqli->query("SELECT val FROM main");

$val = $val + 1;

$stmt->bind_param("si", $tag, $val);

$stmt->execute();

$stmt->close();

$mysqli->close();
Попробуй этот код
Нептун канализации Мастер (1031) 1 месяц назад
для начала начни сначала))
$mysqli = new mysqli($server, $username, $password, $database);
НИКИТА С МАРСАМастер (1930) 1 месяц назад
Не думал что из-за того что не укажешь параметр датабаз может всё не работать, хотя где-то написано что его не нужно указывать
Похожие вопросы