Php 如何检查是否未设置$id
所以我得到了这段代码,我需要检查id是否未设置Php 如何检查是否未设置$id,php,Php,所以我得到了这段代码,我需要检查id是否未设置 $id = mysql_real_escape_string($_GET['id']); $genrer = mysql_query("SELECT id, overskrift, brodtekst FROM rb_genrer WHERE id=$id"); while($ge = mysql_fetch_array($genrer)) { if (!isset($_GET["id"])){ echo "Vælg en
$id = mysql_real_escape_string($_GET['id']);
$genrer = mysql_query("SELECT id, overskrift, brodtekst FROM rb_genrer WHERE id=$id");
while($ge = mysql_fetch_array($genrer)) {
if (!isset($_GET["id"])){
echo "Vælg en underside";
} else {
echo "<div class='overskrift'><h2>" . $ge["overskrift"] . "</h2></div> <p>" . $ge["brodtekst"] . "</p>";
}
}
$id=mysql\u real\u escape\u字符串($\u GET['id']);
$genrer=mysql\u查询(“从rb\u genrer中选择id、overskrift、brodtekst,其中id=$id”);
while($ge=mysql\u fetch\u数组($genrer)){
如果(!isset($\u GET[“id”])){
回声“Vælg en底面”;
}否则{
回声“$ge[“overkrift”]”。“$ge[“brodtekst”]”。”;
}
}
当我在URL中键入
genrer.php?id=1
时,它工作正常,但当我只键入genrer.php
时,它不会输出“Vælg en underm”使其返回默认值
$id = mysql_real_escape_string(isset($_GET['id']) ? $_GET['id'] : '0');
$genrer = mysql_query("SELECT id, overskrift, brodtekst FROM rb_genrer WHERE id=$id");
while($ge = mysql_fetch_array($genrer)) {
if (!isset($id)){
echo "Vælg en underside";
} else {
echo "<div class='overskrift'><h2>" . $ge["overskrift"] . "</h2></div> <p>" . $ge["brodtekst"] . "</p>";
}
}
$id=mysql\u real\u escape\u字符串(isset($\u GET['id'])?$\u GET['id']:'0');
$genrer=mysql\u查询(“从rb\u genrer中选择id、overskrift、brodtekst,其中id=$id”);
while($ge=mysql\u fetch\u数组($genrer)){
如果(!isset($id)){
回声“Vælg en底面”;
}否则{
回声“$ge[“overkrift”]”。“$ge[“brodtekst”]”。”;
}
}
你能试试这个吗
if (!isset($_GET["id"])){
echo "Vælg en underside";
} else {
$id = mysql_real_escape_string($_GET['id']);
$genrer = mysql_query("SELECT id, overskrift, brodtekst FROM rb_genrer WHERE id=$id");
while($ge = mysql_fetch_array($genrer)) {
echo "<div class='overskrift'><h2>" . $ge["overskrift"] . "</h2></div> <p>" . $ge["brodtekst"] . "</p>";
}
}
if(!isset($\u GET[“id”])){
回声“Vælg en底面”;
}否则{
$id=mysql\u real\u escape\u字符串($\u GET['id']);
$genrer=mysql\u查询(“从rb\u genrer中选择id、overskrift、brodtekst,其中id=$id”);
而($ge=mysql\u fetch\u数组($genrer)){
回声“$ge[“overkrift”]”。“$ge[“brodtekst”]”。”;
}
}
如果不将id
传递给genrer.php
,脚本就不会输出“Vælg en underm”,因为$ge=mysql\u fetch\u数组($genrer)
从一开始就产生false
,因此循环的主体永远不会执行。如果(!isset($GET['id'));!$u GET['id')){
if (!isset($_GET['id']) || !$_GET['id']){
echo "Vælg en underside";
} else {
$id = mysql_real_escape_string($_GET['id']);
$genrer = mysql_query("SELECT id, overskrift, brodtekst FROM rb_genrer WHERE id=$id");
while($ge = mysql_fetch_array($genrer)) {
echo "<div class='overskrift'><h2>" . $ge["overskrift"] . "</h2></div> <p>" . $ge["brodtekst"] . "</p>";
}
}
回声“Vælg en底面”;
}否则{
$id=mysql\u real\u escape\u字符串($\u GET['id']);
$genrer=mysql\u查询(“从rb\u genrer中选择id、overskrift、brodtekst,其中id=$id”);
while($ge=mysql\u fetch\u数组($genrer)){
回声“$ge[“overkrift”]”。“$ge[“brodtekst”]”。”;
}
}
像这样使用:
if (!isset($_GET["id"])){
echo "Vælg en underside";
} else {
$id = mysql_real_escape_string($_GET['id']);
$genrer = mysql_query("SELECT id, overskrift, brodtekst FROM rb_genrer WHERE id=$id");
while($ge = mysql_fetch_array($genrer)) {
echo "<div class='overskrift'><h2>" . $ge["overskrift"] . "</h2></div> <p>" . $ge["brodtekst"] . "</p>";
}
}
if(!isset($\u GET[“id”])){
回声“Vælg en底面”;
}否则{
$id=mysql\u real\u escape\u字符串($\u GET['id']);
$genrer=mysql\u查询(“从rb\u genrer中选择id、overskrift、brodtekst,其中id=$id”);
while($ge=mysql\u fetch\u数组($genrer)){
回声“$ge[“overkrift”]”。“$ge[“brodtekst”]”。”;
}
}
$id=$\u GET['id'];
如果(isset($id)){
$genrer=mysql\u查询(“从rb\u genrer中选择id、overskrift、brodtekst,其中id=$id”);
while($ge=mysql\u fetch\u数组($genrer)){
回声“$ge[“overkrift”]”。“$ge[“brodtekst”]”。”;
}
}否则
回声“Vælg en底面”;
}
由于未设置$id,因此查询不会执行,因此while循环不起作用。这就是为什么它不回应Vælgen底面。
试试这个
if (!isset($_GET["id"])){
echo "Vælg en underside";
}
这是因为您没有ID,所以查询不会运行。Therfor no while循环和no if语句您正在检查while循环中的id,该循环将仅在有id时运行。如果将id设置为空,则查询将抛出错误。您应该使用“…其中id='$id'”;解决这个问题。此外,请记住,该问题有一个数字0的问题。PHP也将0标识为false。
if (!isset($_GET["id"])){
echo "Vælg en underside";
}