0

大家好,OOP PHP 新手。我在下面有以下代码:

测试.php

<?php
class test 
{
    private $dbhost;
    private $dbname;
    private $user;
    private $pass;
    public function __construct()
    {
        $this->dbhost = 'localhost';
        $this->dbname = 'XXXX';
        $this->user = 'root';
        $this->pass = '';
    }
    public function open($obj)
    {
        $con = mysql_connect($this->dbhost,$this->user,$this->pass) or die(mysql_error());
        $db = mysql_select_db($this->dbname)or die(mysql_error());
        $query = mysql_query("SELECT * FROM '".$obj."'") or die(mysql_error());

    }

}

?>

在另一个名为 test2.php 的文件中,我有以下代码:

<?php
    require_once('testClass.php');
    $obj = new test();
    $obj2 = 'user';
    $obj->open($obj2);
?>

我收到以下错误: 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“用户”附近使用正确的语法

提前寻求帮助

4

2 回答 2

4

$obj 应该是表名,您不需要在表名周围加上单引号。

mysql_query("SELECT * FROM ".$obj) or die(mysql_error());

编辑:

 while($row = mysql_fetch_array($query)){
    echo $row['userId'];
 } 

建议:你的查询一定是受到mysql注入攻击的影响。使用 PDO 或 Mysqli lib 真的很好。

于 2012-10-11T08:28:44.470 回答
1
$sql = mysql_query("SELECT * FROM your_table");
$row = mysql_num_row($sql);
if($row > 0){
//do something
}else{
echo "No records found";
}
于 2012-10-11T09:01:41.173 回答