当我在本地插入时,数据已成功插入到表中,但是当我在服务器上插入时未插入。
我在本地尝试过插入,但是在服务器上尝试添加时未插入也不给出任何错误!
if(isset($_REQUEST["submit_newlaw"]))
{
$file=$_FILES["file"]["name"];
$court = $_POST['court'];
$citation = $_POST['citation'];
$appelant = $_POST['appelant'];
$opponent = $_POST['opponent'];
$judge = $_POST['judge'];
$judgement = $_POST['judgement'];
$reference = $_POST['reference'];
$year = $_POST['year'];
$detail = $_POST['detail'];
$tmp_name=$_FILES["file"]["tmp_name"];
$path="../case_laws/new/".$file;
$file1=explode(".",$file);
$ext=$file1[1];
$allowed=array("jpg","png","pdf","pdf","docx","doc");
if(in_array($ext,$allowed))
{
move_uploaded_file($tmp_name,$path);
$sql = "insert into new_caselaws(id, court, citation, appelant, opponent,
judge, judgement, reference, year, detail,file)values('', '$court',
'$citation', '$appelant', '$opponent', '$judge', '$judgement',
'$reference', '$year', '$detail','$file')";
mysqli_query($db, $sql);
echo "Successfull";
}
预期结果是数据成功插入。
答案 0 :(得分:-1)
似乎您已经提供了mysqli_connect()或mysqli_init()返回的链接标识符作为mysqli_query($ db,$ sql)的第一个参数$ db。但是,尚不清楚是否在任何位置定义了$ db变量。如果已定义,请确保更新了mysqli_connect()。
以下代码可能在您的本地开发计算机上运行,但是用于连接到mysql服务器的设置可能有所不同。因此,请确保您更新了参数中的值。
mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
此外,向我们提供错误日志确实很有帮助。
如果找不到您的error_log,则可以在此PHP代码所在的目录中找到它。
例如,“ public_html / error_log”
如果$ db实际上是在某处定义的,并且mysqli_connect()是正确的,则应确保在mysqli_query()函数周围编写类似这样的内容
$qry = mysqli_query($db,$sql);
if($qry){
echo "success";
} else {
echo mysqli_error($db);
}
最后,请确保您的文件已上传到服务器中。如果未上传,则会引发异常,PHP将永远无法运行您的查询,因为
move_uploaded_file($tmp_name,$path);
失败并引发异常,结束您的PHP脚本。
如果您没有看到php错误,请转至php.ini文件并键入此文件,或者如果已经列出,请确保对其进行了编辑。
display_errors = On
在php.ini文件中编辑或创建此值之后,该文件应位于您的 public_html 或 www 目录中,请确保重置Web服务器以应用设置。
在投票否决之后,我正在回答这个问题,因为这不一定是mysql错误,因为它已正确插入其本地计算机中。另外,由于某些php.ini文件可能会报告错误,因此在这种情况下,需要将其打开以显示错误。