SQL 准备好的语句
SQL prepared statements
我不断收到此错误:
Call to a member function bind_param() on boolean*
当我们尝试对不存在的 table 进行操作并且准备语句 returns false 时,通常会出现这种情况,但我有一个结构化的 table。
我准备好的陈述是:
$query = "INSERT INTO `profiles`(name,email,handle,DOB,profilePic,gender,r_lat,r_lon,c_lat,"
. "c_lon,connections,recentActivities,savedItems,achievements,school,"
. "interestsB,interestsI,interestsE,work,coverPic,bio,fb_url,insta_url,link_url,wordpress_url,"
. "other_url,address,range,phone)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
PS:我愿意接受所有建议。
$stmt=$mysqli->prepare($query);
$stmt->bind_param("ssssssddddsssssssssssssssssii",$name,$email,$handle,$DOB,$profilePic,$gender,$r_lat,$r_lon,$c_lat,$c_lon,
$connections,$recentActivities,$savedItems,$achievements,$school,$interestsB,
$interestsI,$interestsE,$work,$coverPic,$bio,$fb_url,$insta_url,$link_url,$wordpress_url,
$other_url,$address,$range,$phone);
$res = $stmt->execute();
return $res;
我正在发布截图:
打印错误 returns:
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'range,phone)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)' at line 1
range
是一个 reserved word in MySQL。您可以通过用正引号将其包围来转义它:
`range`
我不断收到此错误:
Call to a member function bind_param() on boolean*
当我们尝试对不存在的 table 进行操作并且准备语句 returns false 时,通常会出现这种情况,但我有一个结构化的 table。 我准备好的陈述是:
$query = "INSERT INTO `profiles`(name,email,handle,DOB,profilePic,gender,r_lat,r_lon,c_lat,"
. "c_lon,connections,recentActivities,savedItems,achievements,school,"
. "interestsB,interestsI,interestsE,work,coverPic,bio,fb_url,insta_url,link_url,wordpress_url,"
. "other_url,address,range,phone)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
PS:我愿意接受所有建议。
$stmt=$mysqli->prepare($query);
$stmt->bind_param("ssssssddddsssssssssssssssssii",$name,$email,$handle,$DOB,$profilePic,$gender,$r_lat,$r_lon,$c_lat,$c_lon,
$connections,$recentActivities,$savedItems,$achievements,$school,$interestsB,
$interestsI,$interestsE,$work,$coverPic,$bio,$fb_url,$insta_url,$link_url,$wordpress_url,
$other_url,$address,$range,$phone);
$res = $stmt->execute();
return $res;
我正在发布截图:
打印错误 returns:
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'range,phone)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)' at line 1
range
是一个 reserved word in MySQL。您可以通过用正引号将其包围来转义它:
`range`