大家都过得愉快,感谢您想帮助我。
我在这里有一个非常简单的INSERT INTO table() VALUE ()
语句,但由于某些原因它似乎不起作用。
我知道很多人已经问过这样的问题,但是对于我自己的问题困扰我的是mysqli_error()
字符串是空的,并没有给我任何关于可能出错的提示。< / p>
以下是代码:
<?php
$connection = mysql_connect("database","username","password");
// Check connection
if (!$connection)
{
echo "Connection failed: " . mysql_connect_error();
}
else
{
echo "Inserting...";
$sql="INSERT INTO test1 (StudentID)
VALUES('$_POST[StudentID]')";
echo "Insert complete!";
}
if (mysql_query($connection,$sql))
{
echo "1 record added";
}
else
{
echo "Error: " . mysqli_error($connection);
}
mysqli_close($connection);
?>
我收到的所有内容都是:
Inserting...Insert complete!Error:
我很抱歉用简单的东西浪费你的时间,但是..这是我第一次使用数据库,而我错过了什么错误(可能是某个地方的语法错误?找不到它自己)
答案 0 :(得分:1)
你有很多错误
// Open connection
$cn = mysql_connect("database","username","password") or die('Connection failed: ' . mysql_error() );
// Check if param is set
if( !isset($_POST['StudentID']) )
die('Param error');
echo "Inserting...";
// Query with escaped special char
$SQL = sprintf("INSERT INTO test1 (StudentID) VALUES('%s')",
mysql_real_escape_string($_POST['StudentID'], $cn)
);
// Execute query
$Result = mysql_query($SQL, $cn) or die(mysql_error($cn));
// Check if record inserted
if( mysql_affected_rows($cn) > 0 )
echo "Insert complete!";
else
echo "Insert FAIL!";
// Close connection
mysql_close($cn);
NB使用pdo或mysqli_,不推荐使用mysql_
答案 1 :(得分:0)
如评论中所述,不要使用mysql * funtcions,而是使用mysqli *函数,并且你同时使用它们,任何标准都不会有什么好处
对于你的错误,不要像这样写
$sql="INSERT INTO test1 (StudentID) VALUES('$_POST[StudentID]')";
定义你的post变量,然后尝试将其传递给数据库
喜欢这个
$student = $_POST[StudentID];
$sql="INSERT INTO test1 (StudentID) VALUES( $student )";
BR的
答案 2 :(得分:0)
mysql_connect
函数应具有主机名,例如mysql_connect(HOST,USER,PASS)
请参阅文档http://bd1.php.net/function.mysql-connect
您还将mysql_*
与mysqli_*
混合在一起。您应该使用mysqli_*
,因为mysql_*
函数已被弃用。
您还需要先检查$_POST['StudentID']
。
echo "Inserting...";
if(isset($_POST['StudentID'])) {
$sql="INSERT INTO test1 (StudentID)
VALUES('$_POST[StudentID]')";
echo "Insert complete!";
}
else {
echo "no id found!";
}
答案 3 :(得分:0)
请在下面这段代码
<?php
$connection = mysql_connect("host","username","password");
// Check connection
if (!$connection)
{
echo "Connection failed: " . mysql_connect_error();
}
else
{
mysql_select_db("DB",$connection);
echo "Inserting...";
$sql="INSERT INTO test1 (StudentID)
VALUES('$_POST[StudentID]')";
echo "Insert complete!";
}
if (mysql_query($connection,$sql))
{
echo "1 record added";
}
else
{
echo "Error: " . mysql_error($connection);
}
mysql_close($connection);
?>