2016-11-03 4 views
-1

Я прохожу курс по MySQL, и я изучаю, как сделать бит пользователя кода пользователя (адрес электронной почты и пароль), где информация в скрипте будет помещена в базу данных на phpMyAdmin. Кажется, я не могу заставить его работать? У моего кода нет ошибок, когда я отправляю его через проверку ошибок. Я также совершенно новый для PHP и MySQL. Я знаю, что он может найти базу данных, потому что я могу обновлять существующие данные.Запись MySQL в базу данных не работает

<?php 

$link = mysqli_connect("host", "username", "password", "username"); 

if (mysqli_connect_error()) { 

    die ("There was an error connecting to the database"); 

} 

$query = "INSERT INTO `users` (`email`, `password`) VALUES('email', 'password')"; 

mysqli_query($link, $query); 

$query = "SELECT * FROM users"; 

if ($result = mysqli_query($link, $query)) { 

$row = mysqli_fetch_array($result); 

echo "Your email is ".$row[1]." and your password is ".$row[2]; 

} 

?> 
+2

Нулевой массив, начинающийся с $ row [0] и $ row [1] –

+0

@ RicardoOrtegaMagaña Правда, но '[1]' должно хотя бы показать что-то, и на самом деле это не вопрос. Они заявляют, что вставка не работает. По названию * «Вступление в базу данных не работает» *. –

+0

Я не вижу ошибок здесь. Вы заявляете, что используете это средство проверки ошибок, что именно? Я чувствую, что вы не рассказываете нам настоящую/полную историю. Ваше значение содержит то, что кажется, что вы пытаетесь ввести что-то другое, кроме строковых литералов. –

ответ

-3

Почему вы не пытаетесь получить их с помощью php?

И просто сделать

$email= $POST['email'] 
$password= $POST['password'] 

И изменить запрос

$query = "INSERT INTO `users` (`email`, `password`) VALUES(" .$email. ", ". $password.")"; 
+3

Должен быть честным; если бы я мог это сделать, я бы это сделал. Он полон ошибок. –

+0

Почему вы не можете сделать downvote? –

+0

http://stackoverflow.com/help/formatting – Barmar

0

Created уточненный вариант. Проверь это.

<?php 

    $link = mysqli_connect("host", "username", "password", "username"); 

    if (mysqli_connect_error()) { 

     die ("There was an error connecting to the database"); 

    } 

    $query = "INSERT INTO `users` (`email`, `password`) VALUES('email', 'password')"; 

    $result = mysqli_query($link, $query); 
    if($result != false) 
    { 
     echo "The record has been successfully inserted.<br>"; 
    } 
    else 
    { 
     echo "Error Occured in the INSERT query.<br>Error : ".mysqli_error($link); 
    } 

    $query = "SELECT * FROM users"; 
    $result = mysqli_query($link, $query); 
    if($result != false) 
    { 
     echo mysqli_num_rows($result)." Records found.<br>"; 
     while($rows = mysqli_fetch_array($result)) 
     { 
      echo $rows["email"]."<br>"; 
     } 
    } 
    else 
    { 
     echo "Error Occured in the SELECT query.<br>Error : ".mysqli_error($link); 
    } 


    mysqli_close($link); 

    ?> 
+0

Nandan, это дает мне это предупреждение - Warning: mysqli_error() ожидает, что параметр 1 будет mysqli, null указан в URL-адресе сервера в строке 20 Ошибка, возникающая в запросе INSERT. Ошибка: Найдено записей. – Colton

+0

Замените '$ conn' на' $ link' –

+0

@Colton, Да PaulSpiegel прав, замените $ conn на $ link. Я часто использую $ conn как объект соединения. Во всяком случае, я обновил ответ, проверьте его. –

0

Update

Оказывается, я не ставил установку auto_increment, поэтому сделать так, как я настроить неправильно моя база данных! Он создал еще одну базу данных в учебниках, которые я проходил, и я узнал, что так он и сделал. Спасибо всем за усилия, чтобы помочь мне решить мою проблему!

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