我遇到了一个奇怪的问题。我有一个简单的网页从一些验证规则,我已经运行在我的电脑上几个星期,更新数据库。它在本地主机上运行的测试阶段运行良好
我已经将web表单和数据库移动到我的服务器上,当在本地计算机上输入应该并被接受的数据时,我得到以下错误
错误:您试图输入无法存储或包含代码的信息。请重新刷新发件人并重试
整数值不正确:第1行“entryID”列的“NULL”
下面是表单处理的基本代码

mysql_connect ("host", "username" , "password") or die ('Error: ' .mysql_error());
mysql_select_db ("name of database");

$query= "INSERT INTO entry (entryID, studentName , tutorName , procedureName , grade , studentReflection , tutorComments,  professionalism , communication , alert , dispute ) VALUES ('NULL', '".$options1."' , '".$options2." ' , '".$procedure."' , '".$grade."' , '".$studentReflection."', '".$tutorComments."' , '".$professionalism."' , '".$communication."' , '".$alert."' , '".$dispute."' )";


mysql_query($query) or die ('Error : You are attempting to enter information which cannot be stored or contains code. Please refesh the from and try again<br>' .mysql_error());


echo "<h3>The database has been updated.</br> Thank You </br><a href='form.php'>Enter another procedure</h3>";
}
?>

我哪里做错了?

最佳答案

尝试删除NULL周围的单引号。
我想您已经为entryID设置了自动增量选项

$query= "INSERT INTO entry (entryID, studentName , tutorName , procedureName , grade , studentReflection , tutorComments,  professionalism , communication , alert , dispute ) VALUES (NULL, '".$options1."' , '".$options2." ' , '".$procedure."' , '".$grade."' , '".$studentReflection."', '".$tutorComments."' , '".$professionalism."' , '".$communication."' , '".$alert."' , '".$dispute."' )";

或者尝试''而不是NULL本身
$query= "INSERT INTO entry (entryID, studentName , tutorName , procedureName , grade , studentReflection , tutorComments,  professionalism , communication , alert , dispute ) VALUES ('', '".$options1."' , '".$options2." ' , '".$procedure."' , '".$grade."' , '".$studentReflection."', '".$tutorComments."' , '".$professionalism."' , '".$communication."' , '".$alert."' , '".$dispute."' )";

关于php - 从测试服务器移至实时服务器时,PHP和mysql错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11651478/

10-17 00:03