PHP MySQL错误回显插入值在屏幕上打印
我正在学习PHP MYSql,在编写marks提交程序时遇到了一个错误。当我在chrome中运行这个程序时,表是正常的,但是没有在MySQL表中插入值,也没有重定向到不同的网页。在下面给出的代码和屏幕中,您将更清楚地理解它PHP MySQL错误回显插入值在屏幕上打印,php,mysql,Php,Mysql,我正在学习PHP MYSql,在编写marks提交程序时遇到了一个错误。当我在chrome中运行这个程序时,表是正常的,但是没有在MySQL表中插入值,也没有重定向到不同的网页。在下面给出的代码和屏幕中,您将更清楚地理解它 <html> <body> <?php error_reporting(E_ALL ^ E_DEPRECATED); $connection = mysql_connect("localhost","root",""); if($
<html>
<body>
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
$connection = mysql_connect("localhost","root","");
if($connection == false)
{
echo("<h3>Unable MySQL</h3>");
die();
}
$db = mysql_select_db("IGNOU",$connection);
if($db == false)
die("<h3>Unable to connect to DB</h3>");
if(isset($_POST['submit']))
{
$rcptno=mysql_real_escape_string($_POST['rcptno']);
$subdt=mysql_real_escape_string($_POST['subdt']);
$amarks=mysql_real_escape_string($_POST['amarks']);
$Vvmarks=mysql_real_escape_string($_POST['Vvmarks']);
$chk_dt=mysql_real_escape_string($_POST['chk_dt']);
$roll_no=mysql_real_escape_string($_POST['roll_no']);
$sbcode=mysql_real_escape_string($_POST['sbcode']);
$ecode=mysql_real_escape_string($_POST['ecode']);
$query1=mysql_query("insert into assignment values('$rcptno','$subdt','$amarks','$Vvmarks','$chk_dt',
'$roll_no','$sbcode','$ecode')");
echo "insert into assignment values('$rcptno','$subdt','$amarks','$Vvmarks','$chk_dt','$roll_no'
,'$sbcode','$ecode')";
if($query1)
{
header("location:studentmaster.php");
}
}
?>
<fieldset style="width:400px;">
<form method="post" action="">
Reciept No.: <input type="number" name="rcptno" min="1">
<br>
Submission Date.: <input type="date" name="subdt">
<br>
Assignment Marks: <input type="number" name="amarks" max = "100">
<br>
Viva Marks: <input type="number" name="Vvmarks" max="100">
<br>
Checking Date.: <input type="date" name="chk_dt">
<br>
Roll No.: <input type="text" name="roll_no">
<br>
Subject Code.:
<input type="text" name="sbcode">
<br>
Evaluator Code:
<input type="text" name="ecode">
<br>
<input type="submit" name="submit">
</form>
</fieldset>
</body>
</html>
您看到输出是因为您使用了这一行
echo "insert into assignment values('$rcptno','$subdt','$amarks','$Vvmarks','$chk_dt','$roll_no'
,'$sbcode','$ecode')";
您还需要确保是否已成功插入。
为此,您应该使用这些代码行
if ($query1) {
header('Location: studentmaster.php');
} else {
echo 'No redirect means query failed';
var_dump(mysql_error($connection));
}
因为您正在学习,您可以跳过mysql.*
函数并移动到mysqli,PDO
只需将插入查询替换为
insert into assignment(`col1`,`col2`,`col3`,`col4`,`col5`, `col6`,`col7`,`col8`) values('$rcptno','$subdt','$amarks','$Vvmarks','$chk_dt', '$roll_no','$sbcode','$ecode')
替换col1、col2、col3。。。使用mysql表列如果查询失败,则需要打印错误消息。在if($query1)
之后添加else{echo mysql_error();}
如果您只是在学习mysql,请忘记mysql函数,然后转到mysqli或pdo语句。更好的面向对象形式错误报告(E_ALL ^E_已弃用)
禁用使用mysql
API的消息。我不得不说:“干得好!”感谢你完全无视警告。非常感谢你的帮助