Я пытаюсь вставить данные в таблицу в MySQL. Я нашел/модифицировал некоторый код из w3Schools и все еще не мог заставить его работать. Вот что я до сих пор:
<?php
$rusername=$_POST['username'];
$rname=$_POST['name'];
$remail=$_POST['emailadr'];
$rpassword=$_POST['pass'];
$rconfirmpassword=$_POST['cpass'];
if ($rpassword==$rconfirmpassword) {
$con = mysql_connect("host","user","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydbname ", $con);
}
mysql_query("INSERT INTO members (id, username, password)
VALUES ('4', $rusername, $rpassword)");
?>
Я что-то ошибся? По моему мнению, "члены" - это имя таблицы. Если кто-то знает, что не так, я ценю помощь.
Спасибо
Запрос, полученный в результате вашего кода:
INSERT INTO members (id, username, password) VALUES ('4', rusername, rpassword)
Обратите внимание, что строка SQL должна быть окружена '
.
Итак, обновите свой код:
mysql_query("INSERT INTO members (id, username, password)
VALUES ('4', '$rusername', '$rpassword')");
И имя вашей базы данных?
mysql_select_db("mydbname ", $con);
Даже если он называется mydbname, там есть странное пространство char..
Вы также можете сделать
mysql_query("use mydbname", $con);
ИЗМЕНИТЬ
Попробуйте включить в запрос флаг подключения к базе данных, а также заменить "4" (что, если nico сказал, что это ключ автоинкремента [id], он должен быть целым числом без кавычек) с помощью null:
mysql_query("INSERT INTO members VALUES
(null, '$rusername', '$rpassword');", $con);
id
как автоинкремент, и вам больше не придется с этим сталкиваться. Кроме того, id должен быть целым числом, поэтому нет необходимости использовать там кавычкиmysql_real_escape_string
.