2015-09-03 5 views
-2

Я проверил все имена таблиц и столбцов правильно, и нет ошибок в любых именах ввода, но они не вставляют эти данные.Я не могу вставить данные в базу данных

<?php 
if(isset($_POST['Murad'])){ 
    session_start(); 
$firstname=$_POST['firstname']; 
$lastname=$_POST['lastname']; 
$userName=$_POST['username']; 
$password=$_POST['pwd1']; 
$userName = stripslashes($userName); 
$password = stripslashes($password); 
$email=$_POST['email']; 
$mysql_hostname = "localhost"; 
$mysql_user = "root"; 
$mysql_password = "123"; 
$mysql_databse = "websiteusersa"; 
$bd = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database"); 
mysqli_select_db($bd,'websiteusersa'); 
$sql = "INSERT INTO websiteusersa 
     (fullname,lastname,userName,email,pass) 
     VALUES ('$firstname', '$lastname','$userName', '$email','$password')"; 
$query = mysqli_query($bd, $sql); 
header("location: main.php?/$firstname/"); 
} 
?> 
+0

Вы пытались вывести свой необработанный SQL-запрос (с ограниченными значениями) и выполнить его непосредственно в CLI (или PhpMyAdmin)? Кстати, будьте осторожны, чтобы использовать метод подготовки mysqli (или лучше PDO), чтобы избежать SQL-инъекции. Ваш код здесь уязвим. –

+1

Просто из любопытства попробуйте «$ query = mysqli_query ($ bd, $ sql) или умереть (mysql_error())», чтобы увидеть, есть ли что-то неправильное. Вы также можете добавить это в mysql_connect. Подумайте, для этого используйте API PDO o CLI. –

+0

Код не защищен, он привлекателен для инъекций sql. Изучите [PHP sql injection] (http://php.net/manual/en/security.database.sql-injection.php) и попытайтесь получить значение запроса сначала в MysqlWorkbench или PhpMyAdmin. Затем попробуйте сначала напечатать свое значение '$ sql' в браузере, посмотрите, дают ли он правильные результаты –

ответ

1

Проверьте ваше заявление здесь:

$sql = "INSERT INTO websiteusersa 
    (fullname,lastname,userName,email,pass) 
    VALUES ('$firstname', '$lastname','$userName', '$email','$password')"; 

может быть столбец ПолноеИмя может означать ПгвЬЫат, поэтому ваш код не работает.

+0

no its fullname – RealSlimShady

2

Вы можете оставить здесь вопрос, но не проверить на наличие сообщений об ошибке?

$query = mysqli_query($bd, $sql) or die(mysqli_error($db)); 
            ^

Его простой процесс отладки, который другие должны выполнить для вас тогда. Это просто скажет вам, где ошибка.

Смежные вопросы