0

こんにちは、OOPPHPを初めて使用するすべての人に。私はここに次のコードを持っています:

test.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構文にエラーがあります。1行目の「user」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

ヘルプのために事前にthnx

4

2 に答える 2

4

$obj は tablenameである必要があり、テーブル名を一重引用符で囲む必要はありません。

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 に答える