MySQL -- Fatal error: Call to a member function bind_param() on a non-object
MySQL -- Fatal error: Call to a member function bind_param() on a non-object
我已经搜索了数十个标题与此 post 几乎相同的问题,但我还没有找到我的具体问题的答案。我正在尝试准备一份声明,但每次都会收到此错误。我在想我的 sql 语法一定有某种错误,但我这辈子都找不到它。
$title = "this_is_my_table_title";
//import the database login credential variables
require("localhost_credentials.php");
$conn = new mysqli($db_servername, $db_username, $db_password, $db_name);
if($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
$querystr = "CREATE TABLE ? (";
$querystr .= "id int(11) not null auto_increment,";
$querystr .= "section varchar(255) not null,";
$querystr .= "raw_content LONGTEXT not null,";
$querystr .= "formatted_content LONGTEXT not null,";
$querystr .= "primary key (id)";
$querystr .= ");";
$statement = $conn->prepare($querystr); <--- error here
$statement->bind_param("s", $title);
$statement->execute();
$statement->close();
您不能为 table 名称使用占位符,它只能用于代替表达式。所以 CREATE TABLE ?
无效。使用:
$querystr = "CREATE TABLE `$title` (";
验证 $title
是一个接受table table 名称后。
我已经搜索了数十个标题与此 post 几乎相同的问题,但我还没有找到我的具体问题的答案。我正在尝试准备一份声明,但每次都会收到此错误。我在想我的 sql 语法一定有某种错误,但我这辈子都找不到它。
$title = "this_is_my_table_title";
//import the database login credential variables
require("localhost_credentials.php");
$conn = new mysqli($db_servername, $db_username, $db_password, $db_name);
if($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
$querystr = "CREATE TABLE ? (";
$querystr .= "id int(11) not null auto_increment,";
$querystr .= "section varchar(255) not null,";
$querystr .= "raw_content LONGTEXT not null,";
$querystr .= "formatted_content LONGTEXT not null,";
$querystr .= "primary key (id)";
$querystr .= ");";
$statement = $conn->prepare($querystr); <--- error here
$statement->bind_param("s", $title);
$statement->execute();
$statement->close();
您不能为 table 名称使用占位符,它只能用于代替表达式。所以 CREATE TABLE ?
无效。使用:
$querystr = "CREATE TABLE `$title` (";
验证 $title
是一个接受table table 名称后。