Просмотр полной версии : что не так с insert через PHP в MySQL?
cheremuxa
03.01.2020, 15:25
PHP:
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 скрипта
нужно записать текст, а оно записывает так:
Screenshot (https://www.blast.hk/redirect/aHR0cDovL3BybnRzY3IuY29tL3FpdWd6OQ)
Captured with Lightshot
prntscr.com
т.е пустое значение, а должно записать:
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
Mirrorka
03.01.2020, 16:21
топ советов в 2020 году:
протести сначала напрямую, а потом через скрипт отталкиваясь от опытов
cheremuxa
03.01.2020, 16:21
топ советов в 2020 году:
протести сначала напрямую, а потом через скрипт отталкиваясь от опытов
и как же?
и как же?
через браузер, очевидно. попробуй через гет, заием пост
itsLegend
03.01.2020, 16:39
Ты передаешь в 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
03.01.2020, 16:45
Ты передаешь в prepare строку для форматирования, но не указываешь в ней параметры.
Вывод: пиши по скриптум что ты нихуя не понимаешь что происходит и просто взял пример из инетика.
PHP:
// ...
if
(
$stmt
=
$mysql
-
>
prepare
(
'INSERT INTO `test` (`nickn`) VALUES (?)'
)
)
{
$nickn
=
(
isset
(
$_POST
[
'nickn'
]
)
?
strval
(
$_POST
[
'nickn'
]
)
:
'$nickn'
)
;
$stmt
-
>
bind_param
(
's'
,
$nickn
)
;
// ...
дак это рабочий код чишо?
Я же уже несколько примеров работы с prepare дал, что за ***ня.
Если не можешь понять или прочитать в интернете (даже на русском уж инструкции есть), делай query напрямую.
PHP:
$mysql
-
>
query
(
'INSERT INTO `users` (`login`, `password`) VALUES ("'
.
$login
.
'", "'
.
$pass
.
'")'
)
;
cheremuxa
03.01.2020, 16:48
дак это рабочий код чишо?
блять хули ты злишса я ищу кто мне даст наводку на что обратить внимание/че переделать
я сам на*** не шарю в пхп мне он нужен на пару строк и все блять1.1
блять хули ты злишса я ищу кто мне даст наводку на что обратить внимание/че переделать
я сам на*** не шарю в пхп мне он нужен на пару строк и все блять1.1
Вы находитесь в разделе "Разработка" (само название уже должно выдавать смысл сего раздела).
Пожалуйста, не сорите здесь просьбами о написании какой-то программы (т.е. требуете уже готовый продукт). В некоторых подразделах имеется специальная тема с правилами для того или иного раздела. Если для раздела доступны префиксы, то вставляйте их не как попало или не ставьте вовсе.
Публикуя какой-либо код, добавляйте его через ББ-код, который можно найти в панели редактора или ввести вручную, более подробно здесь: threads/18663 (https://blast.hk/threads/18663/)
Работа и услуги (https://blast.hk/forums/16/)
blast.hk
cheremuxa
03.01.2020, 16:48
Я же уже несколько примеров работы с prepare дал, что за ***ня.
Если не можешь понять или прочитать в интернете (даже на русском уж инструкции есть), делай query напрямую.
PHP:
$mysql
-
>
query
(
'INSERT INTO `users` (`login`, `password`) VALUES ("'
.
$login
.
'", "'
.
$pass
.
'")'
)
;
так бы сразу)
на что обратить внимание/че переделать
так бы сразу)
на что обратить внимание/че переделать
На то, что это АБСОЛЮТНО НЕБЕЗОПАСНЫЙ СПОСОБ, ТВОЮ БАЗУ ВЗЛОМАЮТ И СОЖГУТ, если так передавать данные.
cheremuxa
03.01.2020, 16:51
На то, что это АБСОЛЮТНО НЕБЕЗОПАСНЫЙ СПОСОБ, ТВОЮ БАЗУ ВЗЛОМАЮТ И СОЖГУТ, если так передавать данные.
да там ничего важного нету в этой базе ебучей
да там ничего важного нету в этой базе ебучей
Тогда всё отлично, в первые скобки просто подставляешь названия столбцов в таблице, а во вторые переменные, из которых будем заполнять базу 🤘
cheremuxa
03.01.2020, 16:54
Тогда всё отлично, в первые скобки просто подставляешь названия столбцов в таблице, а во вторые переменные, из которых будем заполнять базу 🤘
http://prntscr.com/qivk35 (https://www.blast.hk/redirect/aHR0cDovL3BybnRzY3IuY29tL3FpdmszNQ) - ('INSERT INTO `test` (`nickn`)
http://prntscr.com/qivko0 (https://www.blast.hk/redirect/aHR0cDovL3BybnRzY3IuY29tL3FpdmtvMA) - VALUES ("' . $nickn . '")'
и получится:
if ($stmt = $mysql->query('INSERT INTO `test` (`nickn`) VALUES ("' . $nickn . '")'); {
верно?
http://prntscr.com/qivk35 (https://www.blast.hk/redirect/aHR0cDovL3BybnRzY3IuY29tL3FpdmszNQ) - ('INSERT INTO `test` (`nickn`)
http://prntscr.com/qivko0 (https://www.blast.hk/redirect/aHR0cDovL3BybnRzY3IuY29tL3FpdmtvMA) - VALUES ("' . $nickn . '")'
и получится:
if ($stmt = $mysql->query('INSERT INTO `test` (`nickn`) VALUES ("' . $nickn . '")'); {
верно?
Можно и без всяких if'ов, просто так, как я написал. А если используешь if, убери точку с запятой.
cheremuxa
03.01.2020, 17:46
Можно и без всяких 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
у меня ошибок нет нихуя, но не вставляет он нихуя
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 (https://www.blast.hk/redirect/aHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS93ZWJzdG9yZS9kZX RhaWwvYWR2YW5jZWQtcmVzdC1jbGllbnQvaGdtbG9vZmRkZmZk bnBoZmdjZWxsa2RmYmZiamVsb28)
Проверяй настройки PHP на сервере, выводи результат запроса в PHP
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot