PHP что не так с insert через PHP в MySQL?

cheremuxa

Известный
Автор темы
430
199
PHP:
<?php

$mysql = mysqli_connect('localhost', 'basename', 'password', 'basename');
if (!$mysql) exit('[CONNECTION ERROR]');

if ($stmt = $mysql->prepare('INSERT INTO `test` (`nickn`) VALUES (nickn)')) {
    $nickn = (isset($_POST['nickn']) ? strval($_POST['nickn']) : '$nickn');
    $stmt->bind_param('ss', $curS, $nickn);
    if ($stmt->execute()) {
        echo 'data received, inserting...';
        $stmt->close();
    } else {
        echo 'error';
        $stmt->close();
    }
}
?>

переменная nickn передается по POST - запросу из Lua скрипта
нужно записать текст, а оно записывает так:

т.е пустое значение, а должно записать:
nickname=ник из сампа
в консоли Moonloader'a:

DATA [ML] (script) test.lua: nickname=DieDoS
RESPONSE [ML] (script) test.lua: data received, inserting...
CODE [ML] (script) test.lua: 200
HEADERS [ML] (script) test.lua: table: 0x0ef05f10
STATUS [ML] (script) test.lua: HTTP/1.1 200 OK
 
Решение
Ты передаешь в prepare строку для форматирования, но не указываешь в ней параметры.
Вывод: пиши по скриптум что ты нихуя не понимаешь что происходит и просто взял пример из инетика.

PHP:
// ...
if ($stmt = $mysql->prepare('INSERT INTO `test` (`nickn`) VALUES (?)')) {
    $nickn = (isset($_POST['nickn']) ? strval($_POST['nickn']) : '$nickn');
    $stmt->bind_param('s', $nickn);
// ...

cheremuxa

Известный
Автор темы
430
199
Можно и без всяких if'ов, просто так, как я написал. А если используешь if, убери точку с запятой.
у меня ошибок нет нихуя, но не вставляет он нихуя

DATA [ML] (script) test.lua: nickname=DieDoS
RESPONSE [ML] (script) test.lua:
CODE [ML] (script) test.lua: 200
HEADERS [ML] (script) test.lua: table: 0x0ef05f10
STATUS [ML] (script) test.lua: HTTP/1.1 200 OK
 

Pakulichev

Software Developer & System Administrator
Друг
1,789
2,128
у меня ошибок нет нихуя, но не вставляет он нихуя

DATA [ML] (script) test.lua: nickname=DieDoS
RESPONSE [ML] (script) test.lua:
CODE [ML] (script) test.lua: 200
HEADERS [ML] (script) test.lua: table: 0x0ef05f10
STATUS [ML] (script) test.lua: HTTP/1.1 200 OK
Тебе уже порекомендовали проверять напрямую, через браузер или REST Client
Проверяй настройки PHP на сервере, выводи результат запроса в PHP