2015-07-10 3 views
-1

Я новичок в этом форуме, и у меня возникают проблемы с моим проектом. Я использовал тот же код для других таблиц, но этот не работает. Помогите! D:Входные данные не отображаются в базе данных

Это не работает:

<?php 
$host="127.0.0.1"; 
$username="root"; 
$password=""; 
$db_name="nadel"; 
$tbl_name="soldprod"; 

mysql_connect("$host", "$username", "$password")or 
die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 


$sprodname=$_POST['sprodname']; 
$spquant=$_POST['spquant']; 
$scli=$_POST['scli']; 
$spds=$_POST['spds']; 

if(empty($sprodname) || empty($spquant) || empty($scli) || empty($spds)) 
{ 
echo "<script> alert('You did not fill out the required fields. '); 
window.location.href='addsprod.php';</script> "; 
} 
else{ 

$sprodname = stripslashes($sprodname); 
$spquant = stripslashes($spquant); 
$scli = stripslashes($scli); 
$spds = stripslashes($spds); 

$sprodname = mysql_real_escape_string($sprodname); 
$spquant = mysql_real_escape_string($spquant); 
$scli = mysql_real_escape_string($scli); 
$spds = mysql_real_escape_string($spds); 


$sql="INSERT INTO soldprod(sp_name, sp_quantity, sp_cli_name, Date_sold) 
VALUES ('$sprodname','$spquant','$scli','$spds')"; 
$result=mysql_query($sql); 

echo "<script> alert('Successfully Added Sold Product!');  
window.location.href='sprod.php';</script> "; 
} 
?> 

Но это работает:

<?php 
$host="127.0.0.1"; 
$username="root"; 
$password=""; 
$db_name="nadel"; 
$tbl_name="products"; 


mysql_connect("$host", "$username", "$password")or 
die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$prodname=$_POST['prodname']; 
$pquant=$_POST['pquant']; 
$pprice=$_POST['pprice']; 
$pdman=$_POST['pdman']; 
$pdex=$_POST['pdex']; 



if(empty($prodname) || empty($pquant) || empty($pprice) || 
empty($pdman)|| empty($pdex)) 
    { 
     echo "<script> alert('You did not fill out the required fields. '); 
    window.location.href='addprod.php';</script> "; 
    } 
    else{ 


    $prodname = stripslashes($prodname); 
    $pquant = stripslashes($pquant); 
    $pprice = stripslashes($pprice); 
    $pdman = stripslashes($pdman); 
    $pdex = stripslashes($pdex); 

    $prodname = mysql_real_escape_string($prodname); 
    $pquant = mysql_real_escape_string($pquant); 
    $pprice = mysql_real_escape_string($pprice); 
    $pdman = mysql_real_escape_string($pdman); 
    $pdex = mysql_real_escape_string($pdex); 

    $sql="INSERT INTO products(`product_name`, `prod_quantity`, 
    `prod_price`, `prod_manD`, `prod_expD`) VALUES 
    ('$prodname','$pquant','$pprice','$pdman','$pdex')"; 
    $result=mysql_query($sql); 


    echo "<script> alert('Successfully Added Product! '); 
    window.location.href='prod.php';</script> "; 
    } 
    ?> 

Я не знаю, что пошло не так D:

+2

Если вы можете, вы должны [прекратить использование '' mysql_ * функции] (http://stackoverflow.com/questions/12859942/why-shouldnt -i-использование-MySQL-функции-в-PHP). Они больше не поддерживаются и [официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). Узнайте о [подготовленном] (http://en.wikipedia.org/wiki/Prepared_statement) [заявлениях] (http://php.net/manual/en/pdo.prepared-statements.php) и рассмотрите возможность использования PDO , [это действительно не сложно] (http://jayblanchard.net/demystifying_php_pdo.html). –

+0

Что значит «это не работает»? –

+1

Извините, я изучу и попробую использовать подготовленные заявления. – mikai

ответ

2
$sql="INSERT INTO soldprod(sp_name, sp_quantity, prod_quant, 
sp_cli_name, Date_sold) VALUES  
('$sprodname','$spquant','$scli','$spds')"; 

Вы указываете 5 столбцы, то введите только 4 значения.

Вы должны проверить результаты вызовов базы данных и проверить mysql_error, чтобы узнать, в чем проблема.

Рассмотрите возможность перехода от mysql_ * к mysqli или PDO. Функции mysql_ * устарели и будут удалены в будущем.

+0

Я не знал о PDO до сих пор жаль, я изучаю его сейчас. Спасибо: D Я удалил лишний столбец, но он все еще не работает :( – mikai

0

У вас есть 5 COLS, но 4 значения здесь:

INSERT INTO soldprod(sp_name, sp_quantity, prod_quant, 
sp_cli_name, Date_sold) VALUES  
('$sprodname','$spquant','$scli','$spds') 
Смежные вопросы