mySQL和PHP - 简单查询不起作用

时间:2014-05-19 03:47:17

标签: php mysql sql

更新:我是一个完全白痴。 mysqli_select_db调用仅用于更改所选数据库。如果其他人遇到了同样的问题,只需在指定数据库的mysqli_connect调用中添加第四个参数。希望这可以帮助别人并且徒劳无功!谢谢大家的帮助。

所以我试图创建一个简单的Web应用程序,但由于某些原因我的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;
?>

然后输出:开始连接...建立连接...发送查询...致命错误:未捕获异常&#39; mysqli_sql_exception&#39;有消息&#39;没有选择数据库&#39; in / hermes / bosweb / web197 / b756 / ******** / public_html / * / ** < /strong>.php:34

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分: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...';
         }