【问题标题】:Why isn't working on my ubuntu server that is working on my localhost PHP SQL insert?为什么无法在我的本地主机 PHP SQL 插入上工作的 ubuntu 服务器上工作?
【发布时间】:2020-08-18 22:15:38
【问题描述】:

我的代码将人们的 ip 记录在 mysql 数据表中。所以,问题是它在我的本地主机上工作,但是当我将文件传输到我的 ubuntu 服务器时它不工作。我的网站上没有错误或其他内容。但是数据没有覆盖在我服务器上方的数据表中。这是iplog.php

<?php
include 'configserver.php';
    
    $url=$_SERVER['REQUEST_URI'];
    $ip=$_SERVER['REMOTE_ADDR'];
    $host=$_SERVER['SERVER_NAME'];
    $log= $db->prepare("INSERT INTO iplog (ip,url,hostname) VALUES (:ip,:url,:hostname)");
    $log->bindParam(':ip', $ip);
    $log->bindParam(':url', $url);
    $log->bindParam(':hostname', $host);
    

    $log->execute();
    


?>

【问题讨论】:

  • 查看 $_server 的手册,您想要的一些信息需要特殊设置。

标签: php mysql phpmyadmin


【解决方案1】:

您是否尝试在 $log->execute() 之后添加以下代码以获取最后一个 PDOStatement 错误?

echo "\nPDOStatement::errorInfo():\n";
$arr = $log->errorInfo();
print_r($arr);

@见PDOStatement::errorInfo

【讨论】:

  • 是的,它说“ PDOStatement::errorInfo(): Array ( [0] => [1] => [2] => ) ”
【解决方案2】:

使用 phpinfo(); 检查您的 PDO 驱动程序设置,并确保为您的数据库引擎启用了驱动程序。

另外,请确保在您的远程服务器上启用了 PDO autocommit

【讨论】:

    【解决方案3】:

    我解决了这个问题。 我在服务器的 MySQL 中创建了另一个表并更改了它解决的数据方式。谢谢大家。

    【讨论】:

      猜你喜欢
      • 2016-08-04
      • 2014-01-15
      • 2013-04-28
      • 2019-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多