2015-04-30 6 views
0

Я абсолютный новичок с php и mysql .. Я хочу поставить (год, месяц, спрос) в (таблицу) в базе данных, но var_dump показывает Bool (false), и ничего не передается база данных ... она также показывает успешно зарегистрированное оповещение. вот мой полный кодvar_dump возвращает bool (false)

<html> 
    <head> 
     <title>Simulation</title> 
    </head> 
    <body> 
     <h2>Registration Page</h2> 
     <a href="home.php"> Click here to go back </a><br/><br/> 
     <form action="register.php" method="POST"> 
      Enter year: <input type="number" name="year" required="required" /> <br/> 
      Enter month: <input type="number" name="month" required="required" /> <br/> 
      Enter demand: <input type="number" name="demand" required="required" /> <br/> 
      <input type="submit" value="Register"/> 
     </form> 
    </body> 
</html> 

<?php 
    if ($_SERVER["REQUEST_METHOD"] == "POST") 
    { 
     $year = mysql_real_escape_string ($_POST['year']); 
     $month = mysql_real_escape_string ($_POST['month']); 
     $demand = mysql_real_escape_string ($_POST['demand']); 

     echo " year is" .$year. "<br/>"; 
     echo " month is" .$month. "<br/>"; 
     echo " demand is" .$demand; 

     mysql_connect("localhost", "root","") or die(mysql_error()); //Connect to server 
     mysql_select_db("first_db") or die("Cannot connect to database"); //Connect to database 

     $qu = mysql_query("INSERT INTO table (year, month, demand) VALUES ('$year','$month','$demand')"); //Inserts the value to table users 
     var_dump ($qu); 
     die(); 
     Print '<script>alert("Successfully Registered!");</script>'; // Prompts the user 
     Print '<script>window.location.assign("register.php");</script>'; // redirects to register.php 
    } 

?> 
+0

не добавляйте пробел между var_dump и ($ qu). – Sablefoste

+0

@SableFoste удалил его и ничего нового не произошло –

+0

- это таблица, на самом деле называемая таблицей? заново зарезервируйте его зарезервированное слово: https://dev.mysql.com/doc/refman/5.5/en/reserved-words.html, и поэтому он должен быть деформирован в back-ticks –

ответ

-1

table зарезервированное слово и вы м ust измените имя вашей таблицы и используйте ниже запроса:

INSERT INTO Table_Name (year, month, demand) VALUES ('$year','$month','$demand') 
+0

Почему -1 ????????? – ops

+1

'Стол' зарезервированное имя !!!!!! – ops

+0

мое имя таблицы - это таблица, написанная в запросе –

-2

Если $ Цюй возвращает ложные означает, что запрос есть какие-то ошибки и не может выполнять

В этой строке

$qu = mysql_query("INSERT INTO table (year, month, demand) VALUES ('$year','$month','$demand')"); 

вы должны добавить строки более того:

$qu = mysql_query("INSERT INTO table (year, month, demand) VALUES ('".$year."','".$month."','".$demand."')"); 
+0

Широко открыта для SQL инъекции. Не используйте mysql. Используйте подготовленные операторы (PDO или mysqli). – Sablefoste

+0

Извините, я новичок, и есть некоторые вещи, которые я еще не знаю. –

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