0
失败我已经建立了一个文件中的静态数据库连接,我包括如mysqli_real_string_escape用GET
include_once 'database.inc.php';
命名$mysqli
。
当我通过使用$tbname = $_GET['tbname']
的形式的参数$tbname
,并尝试使用$tbname = $mysqli->real_esacpe_string($tbname)
,它产生相同的输出到$ tbname,当无效字符,如/,'"
在名称中使用包括。
基于查看其他问题和正确的用法,我找不到字符串转义失败的原因。如果使用程序调用mysqli_real_escape_string($mysqli, $tbname)
,它也会失败。
当$tbname
是
query = $mysqli->prepare("CREATE TABLE $tbname (ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY)") or trigger_error($mysqli->error."[$query]");
作品意在通过函数转义有效,不串,我的查询。
那么我没有使用预处理语句的原因是显然你不能动态地创建这样的表。谢谢您的回答。 – socrates