【问题标题】:mySQL and PHP - Simple Query Not WorkingmySQL 和 PHP - 简单查询不起作用
【发布时间】:2014-05-19 03:47:16
【问题描述】:

更新:我是个彻头彻尾的白痴。 mysqli_select_db 调用仅用于更改选定的数据库。如果其他人有同样的问题,只需在指定数据库的 mysqli_connect 调用中添加第四个参数。希望这对某人有所帮助并且不是徒劳的!感谢大家的帮助。

所以我正在尝试创建一个简单的网络应用程序,但由于某种原因,我的 SQL 查询无法正常工作。我有我写的 php 来发送查询和下面的输出。

<?php
    error_reporting(E_ALL); 
    ini_set('display_errors', 1); 
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    class mySQL{

     private $link;

     private $hostURL = '*********.***********.***';
     private $username = '**********';
     private $password = '****************';

     public function __construct(){
         echo 'Starting connection...';
         $this->link = mysql_connect($this->hostURL, $this->username, $this->password);
         echo 'Connection established...';
     }

     public function add_conversation($iUser, $iName, $iTag, $iLocation, $iSize){

         $query = "INSERT INTO conversations (user, name, location, tag, size, expires) 
         VALUES ('" . $iUser . "','" . $iName . "','" . $iName . "','" . $iTag . "','" . $iSize . "', CURRENT_TIMESTAMP)";
         $this->query($query);

     }

     private function query($query){
         echo 'Sending query...';
         mysqli_query($this->link, $query);
         echo 'Query sent...';
     }

     }

     $sql = new mySQL;
?>

然后输出:正在启动连接...已建立连接...正在发送查询...致命错误:未捕获的异常 'mysqli_sql_exception' 在 /hermes/bosweb/web197/b756/********/public_html/*/**.php:34

但是当我尝试使用 mysqli_select_db 或 mysql_select_db 选择数据库时,它会中断。这样做的正确方法是什么?

【问题讨论】:

  • 您的错误检查在哪里?如果您的查询有问题,您不会知道。
  • 如果您还没有这样做,请将错误报告添加到文件顶部 error_reporting(E_ALL); ini_set('display_errors', 1); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
  • 答: 混合 MySQL API。这不是朗姆酒和可乐。注意mysql_connectmysqli_connect? ;-) 我的 +1 呢?咧嘴一笑。

标签: php mysql sql


【解决方案1】:

您尚未在连接中选择数据库

private $link;

         private $hostURL = '*********.***********.***';
         private $username = '**********';
         private $password = '****************';
         private $database = '*****';

         public function __construct(){
             echo 'Starting connection...';
             $this->link = mysql_connect($this->hostURL, $this->username, $this->password, $this->database);
             echo 'Connection established...';
         }

【讨论】:

    【解决方案2】:

    在您的构造函数中,您错误地输入了mysql_connect 而不是mysqli_connect()。应该是

    $this->link = mysqli_connect($this->hostURL, $this->username, $this->password);
    

    【讨论】:

      【解决方案3】:

      你还没有选择 mysql 数据库。你可以这样做:

      $this->link = mysqli_connect($this->hostURL, $this->username, $this->password, $this->databaseName);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-10
        • 1970-01-01
        • 2017-08-10
        • 2011-12-07
        • 2011-12-12
        相关资源
        最近更新 更多