无法将数据插入Server MySql,数据已成功在本地插入

时间:2019-05-23 00:04:05

标签: php mysql

当我在本地插入时,数据已成功插入到表中,但是当我在服务器上插入时未插入。

我在本地尝试过插入,但是在服务器上尝试添加时未插入也不给出任何错误!

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";
 }

预期结果是数据成功插入。

1 个答案:

答案 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文件可能会报告错误,因此在这种情况下,需要将其打开以显示错误。