插入 cpanel phpmyadmin 时查询数据库时出错
Error querying database when inserting into cpanel phpmyadmin
<?php
$fname=$_POST['fname'];
$mname=$_POST['mname'];
$lname=$_POST['lname'];
$college_name=$_POST['college_name'];
$semester=$_POST['semester'];
$contact=$_POST['contact'];
$email=$_POST['email'];
$dbc = mysql_connect('localhost','XXXX',"XXXX",'XXXXX')
or die('error connecting to MYSQL server');
echo kkk;
$query = "INSERT INTO tab_m_registration(fname, mname, lname, college_name, semester, contact, email)".
"VALUES(`$fname`, `$mname`, `$lname`, `$college_name`, `$semester`, `$contact`, `$email`)";
echo $query;
$result=mysql_query($query,$dbc) or die('error querying database');
echo $result;
echo 'Thanx for submitting the form. <br/>';
mysql_close($dbc);
?>
其实我不明白问题出在哪里
$result = mysql_query($query, $dbc)
我认为是行不通的。
我第一次尝试 mysqli_query()
但遇到了问题。然后我试了这个
$result = mysql_query($dbc, $query)
我在 mysql_query()
中收到错误 "argument 1 should be string"。
我交换了值,最后使用了这个 mysql_query($query, $dbc)
。
显示通过echo的值。
但是在数据库中插入数据时仍然存在问题 table。请帮帮我。
您需要进一步调查错误(获取一些错误消息)。您可以使用 try/catch 块来获取更多错误消息(是否已设置所有字段等)。考虑以下代码,但请记住,它仍然对 SQL 注入敞开大门(只是为了获得错误消息):
try {
$db = mysqli_connect("host", "user", "password", "database");
if ($db->connect_errno)
throw new Exception("Connection to the database failed: " . $db->connect_error);
$sql = "INSERT INTO tab_m_registration (`fname`, `mname`, `lname`, `college_name`, `semester`, `contact`, `email`) ";
$sql .= "VALUES(`$fname`, `$mname`, `$lname`, `$college_name`, `$semester`, `$contact`, `$email`)";
if (!$db->query($sql))
throw new Exception("Error Inserting Data " . $db->error);
mysqli_close($db);
} catch (Exception $e) {
echo $e->getMessage();
}
<?php
$fname=$_POST['fname'];
$mname=$_POST['mname'];
$lname=$_POST['lname'];
$college_name=$_POST['college_name'];
$semester=$_POST['semester'];
$contact=$_POST['contact'];
$email=$_POST['email'];
$dbc = mysql_connect('localhost','XXXX',"XXXX",'XXXXX')
or die('error connecting to MYSQL server');
echo kkk;
$query = "INSERT INTO tab_m_registration(fname, mname, lname, college_name, semester, contact, email)".
"VALUES(`$fname`, `$mname`, `$lname`, `$college_name`, `$semester`, `$contact`, `$email`)";
echo $query;
$result=mysql_query($query,$dbc) or die('error querying database');
echo $result;
echo 'Thanx for submitting the form. <br/>';
mysql_close($dbc);
?>
其实我不明白问题出在哪里
$result = mysql_query($query, $dbc)
我认为是行不通的。
我第一次尝试 mysqli_query()
但遇到了问题。然后我试了这个
$result = mysql_query($dbc, $query)
我在 mysql_query()
中收到错误 "argument 1 should be string"。
我交换了值,最后使用了这个 mysql_query($query, $dbc)
。
显示通过echo的值。
但是在数据库中插入数据时仍然存在问题 table。请帮帮我。
您需要进一步调查错误(获取一些错误消息)。您可以使用 try/catch 块来获取更多错误消息(是否已设置所有字段等)。考虑以下代码,但请记住,它仍然对 SQL 注入敞开大门(只是为了获得错误消息):
try {
$db = mysqli_connect("host", "user", "password", "database");
if ($db->connect_errno)
throw new Exception("Connection to the database failed: " . $db->connect_error);
$sql = "INSERT INTO tab_m_registration (`fname`, `mname`, `lname`, `college_name`, `semester`, `contact`, `email`) ";
$sql .= "VALUES(`$fname`, `$mname`, `$lname`, `$college_name`, `$semester`, `$contact`, `$email`)";
if (!$db->query($sql))
throw new Exception("Error Inserting Data " . $db->error);
mysqli_close($db);
} catch (Exception $e) {
echo $e->getMessage();
}