我想在HTML中的某个地方调用$query,这返回未定义。即使在将变量声明为 GLOBAL 之后,我仍然会收到该错误。
<?php
if($query){
echo "Nice";
}
else {
echo "Bad";
}
?>
完整的 PHP
<?php
if(isset($_POST["Name"])) {
$con = mysql_connect("localhost","root","pwd", "DB");
if (!$con){
die(mysql_error());
}
$db_selected = mysql_select_db("DB", $con) or die (mysql_error());
$Name = preg_replace ('#[^a-z, 1-9 ]#i', '', $_POST['Name']);
$Slog = preg_replace ('#[^a-z ]#i', '', $_POST['Slog']);
$GLOBAL['query'] = mysql_query("INSERT INTO profiles (Name, Slog)
VALUES('$Name', '$Slog')") or die (mysql_error());
mysql_close($con);
}
?>
这是带有php的html和im调用$query。
<form style="width:100px" action="insert.php" method="post">
<input type="text" name="Name">
<input type="text" name="Slog">
<input type="submit">
</form>
<p>
<?php
if($query){
echo "Nice";
}
else {
echo "Bad";
}
?>
</p>
您的 PHP 标签和 HTML 文件是否位于同一文档中? 如果没有。 然后你需要把你的PHP文件和你的HTML代码一起包含在你的HTML代码中。 在.php文件类型中。
编辑:我看到一个问题。 你说的是"或死亡()",所以如果有错误,它将停止脚本。 如果你不想要那个,那么你可以回显错误而不是死亡。 die 将停止一切,因此不会定义查询。 具体来说,如果查询返回 false,则"或死亡"在将任何内容分配给查询之前发生。
您期望查询是什么? 这是一个插入查询,因此它应该是 true 或 false。 但它必须与 HTML 位于同一文件中,而您发布的显然不是完整的 HTML。
首先,尝试添加$con作为查询的第二个参数,例如"插入....",$con),然后,通过添加其他内容,确保您实际上在帖子中获得了该名称参数。