【发布时间】:2011-08-19 20:10:45
【问题描述】:
我正在寻找一种在 MySQL 表中存储带有空格和通配符的值的方法。如何才能做到这一点?我试过使用mysql_real_escape_string,但由于某种原因,它仍然不会创建一个带有通配符的表。我一直在做一些研究,我知道这并不复杂,但找不到我要找的东西。
插入示例:
$sql = "CREATE TABLE " . $_COOKIE['username'] . "_" . mysql_real_escape_string($wildcard_name) . "
(
example int,
example2 varchar(999),
example3 varchar(999),
example4 varchar(999)
)";
mysql_query($sql,$con);
尝试添加斜线:
$con = mysql_connect("server","user","pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$scrapbook_name = $_POST["scrapbook_name"];
$scrapbook_name = mysql_real_escape_string($scrapbook_name);
$scrapbook_name = addcslashes($scrapbook_name, '%_');
// Create table
mysql_select_db("user_scrapbooks", $con);
$sql = "CREATE TABLE " . $_COOKIE['user'] . "_" . $scrapbook_name . "
(
id int,
name varchar(999),
description varchar(999),
link varchar(999)
)";
mysql_query($sql,$con);
【问题讨论】:
-
你有插入的例子吗?空间应该不是问题。
-
@Vache 添加到上述问题。
-
您确定要创建一个新表而不是插入其中吗? (对不起,如果这听起来像一个愚蠢的问题,但我不知道你从你的例子要去哪里......)
-
抱歉,这是个好问题。这只是代码的一部分,但我想问的问题的重点是如何使用通配符“字符串”并将其与 MySQL 一起使用。我稍后也会在代码中插入它。
-
这很重要,因为您可以用于表名和存储数据的字符非常不同。