在Select MSQL query中使用PHP变量,它返回Error

时间:2018-03-04 12:54:14

标签: php mysql select

我是PHP和MySQL的新手,我正在尝试使用PHP变量作为表的名称。但当我这样做时,它会返回:

  

SQL错误:SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以便在#321321' 321321附近使用正确的语法。在第1行

我的代码是:

$dbname = "321321";
require_once('authenticate.php');
$ownerID =  $_SESSION["accNumber"];
if($dbname != $ownerID){
    header('Location: login.php');
}


$db_host = 'localhost'; // Server Name
$db_user = 'root'; // Username
$db_pass = '***'; // Password
$db_name = 'test_database'; // Database Name

$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$conn) {
    die ('Failed to connect to MySQL: ' . mysqli_connect_error());
}



$sql = 'SELECT * FROM '.$dbname.'';
$query = mysqli_query($conn, $sql);

1 个答案:

答案 0 :(得分:0)

您应该在表名周围添加反引号`,因为它不是以字母开头的:

$sql = 'SELECT * FROM `'.$dbname.'`';

正如@RacilHilan指出的那样(见下面的评论),最好重命名表格以避免这种混淆。