我有这个代码,它基本上是一个寄存器形式验证器:
$con = mysql_connect("localhost","root","conan");
function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "")
{
$sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "Error, nick escogido por otro usuario";
}
else
{
$sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES (";
$sql .= "'".quitar($HTTP_POST_VARS["nick"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["password"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["email"])."'";
$sql .= ")";
mysql_query($sql);
mysql_close();
echo "Registro exitoso!";
mysql_select_db("usuarios", $con);
$sql2 = "CREATE TABLE persons
(
Test varchar(15),
test2 varchar(15),
Moni varchar(15),
Age int
)";
// Execute query
mysql_query($sql2,$con);
}
mysql_free_result($result);
}
else
{
echo "Debe llenar como minimo los campos de email y password";
}
mysql_close();
代码工作,但$ sql2查询不起作用我不知道为什么,我想创建该表但不起作用。我错过了什么?
答案 0 :(得分:1)
你已经关闭了一个mysql连接:
mysql_query($sql);
mysql_close();
echo "Registro exitoso!";
然后你试图运行另一个查询。只是尝试最后运行mysql_close()
。
答案 1 :(得分:1)
执行第一次查询后,请勿关闭数据库连接。
mysql_query($sql);
//mysql_close(); remove it
echo "Registro exitoso!";
使用正确的字符串连接:
$sql2 = "CREATE TABLE persons ";
$sql2 .= "( ";
$sql2 .= "Test varchar(15), ";
$sql2 .= "test2 varchar(15), ";
$sql2 .= "Moni varchar(15), ";
$sql2 .= "Age int ";
$sql2 .= ") ";
答案 2 :(得分:0)
if(!$result)
{
echo "Error, nick escogido por otro usuario";
}
else
{
$sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES (";
$sql .= "'".quitar($HTTP_POST_VARS["nick"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["password"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["email"])."'";
$sql .= ")";
mysql_query($sql);
mysql_close();
echo "Registro exitoso!";
$con = mysql_connect("localhost","root","conan"); // You closed the connection above!
mysql_select_db("usuarios", $con);
$sql2 = "CREATE TABLE persons
(
Test varchar(15),
test2 varchar(15),
Moni varchar(15),
Age int
)"; // you have to specify which type of table you wanna create! Wrong Query here!
mysql_query($sql2,$con);
}
在$ sql2中,您必须指定要制作的表格类型。它变成了一个错误的查询,并且PHP也已弃用
功能
答案 3 :(得分:0)
我非常惭愧。代码很好。
我只是测试一个名字几乎相同的php文档,而不会出现那个不是运行代码的文档。
我向你们每一个人道歉,这是第一次发生这样的事情,邻居发出很多声音,也许这让我分散了。
请原谅我真的很抱歉。