0

我有一个 PHP 表单,应该将数据插入到我在 hostgator 上的 SQL 数据库中。但是它没有添加任何数据,但 id 字段不断增加。提交表单时我没有收到任何错误消息,当我转到数据库时,其他字段只是空的,因此不显示任何数据。我拉着头发,不知道问题出在哪里。有人可以帮我吗谢谢

<?php

$host="localhost"; // Host name 
$username="xxxxxx"; // Mysql username 
$password="xxxxxx"; // Mysql password 
$db_name="rob1124_inventory"; // Database name 
$tbl_name="data"; // Table name 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// Get values from form 
$qty=$_POST['qty'];
$product=$_POST['product'];
$price=$_POST['price'];
$totalprice=$_POST['totalprice'];
$seller=$_POST['seller'];
$city=$_POST['city'];

// Insert data into mysql 
$sql="INSERT INTO $tbl_name(qty, product, price, totalprice, seller,city)
    VALUES('$qty', '$product', '$price', '$totalprice', '$seller', '$city')";
$result=mysql_query($sql);

// if successfully insert data into database, displays message "Successful". 
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='insert.php'>Back to main page</a>";
}

else {
echo "ERROR";
}
?> 

<?php 
// close connection 
mysql_close();
?>
4

2 回答 2

1

从表的所有 varchar 字段更改为 utf-8 并尝试获取mysql_error().

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
mysql_query("set names 'utf8'");

//You codes....

    // Insert data into mysql 
    $sql="INSERT INTO $tbl_name(qty, product, price, totalprice, seller,city)
        VALUES('$qty', '$product', '$price', '$totalprice', '$seller', '$city')";
    $result=mysql_query($sql) or die(mysql_error());

//Your codes...
于 2013-10-09T16:01:19.633 回答
0

由于 id 至少在表单和数据库连接中递增,因此它会尝试输入数据。

一个通常发生的错误是数据库列中的数据类型与接收到的数据类型不匹配。就像尝试将字符插入整数等一样。或者数据的长度对于数据库中分配的大小来说太大了。检查类型是否正确,然后重试。

但是,仍然应该插入正确的那些。如果不了解有关数据库设计的更多信息,很难说。

于 2013-10-09T16:23:13.823 回答