Php 为什么不是';我的内容不能显示吗?

Php 为什么不是';我的内容不能显示吗?,php,Php,工作原理:点击相册将进入“album.php?id=#” 查询: $sql = mysql_query( SELECT * FROM albums JOIN songs ON albums.performer=songs.performer WHERE albums.albumID='albumID' ); 我想做的是让它显示专辑和曲目列表。有人知道我应该如何解决这个问题吗?谢谢。另外,您应该知道,仅对传递的变量使用isset()是不明确的,您应该检查特殊性,并始终知道将传递什么类型的值 $s

工作原理:点击相册将进入“album.php?id=#”

查询:

$sql = mysql_query(
SELECT *
FROM albums
JOIN songs
ON albums.performer=songs.performer
WHERE albums.albumID='albumID'
);

我想做的是让它显示专辑和曲目列表。有人知道我应该如何解决这个问题吗?谢谢。

另外,您应该知道,仅对传递的变量使用
isset()
是不明确的,您应该检查特殊性,并始终知道将传递什么类型的值

$sql = mysql_query('
SELECT *
FROM albums
JOIN songs
ON albums.performer=songs.performer
WHERE albums.albumID="'.$albumID.'"');
如果只允许整数、数字或两者的混合:

if(isset($\u GET['id'])
只检查其设置,这也可能是空值

if(!empty($\u GET['id'])
这将检查其集合,并且还有一个值

if(!empty($\u GET['id'])和&is_numeric($\u GET['id'])


这个故事的寓意是,你永远不应该相信用户输入是正确的类型。

你还应该意识到,仅仅对传递的变量使用
isset()
是不明确的,你应该检查特殊性,并始终知道将传递什么类型的值

如果只允许整数、数字或两者的混合:

if(isset($\u GET['id'])
只检查其设置,这也可能是空值

if(!empty($\u GET['id'])
这将检查其集合,并且还有一个值

if(!empty($\u GET['id'])和&is_numeric($\u GET['id'])


这个故事的寓意是,您永远不应该相信用户输入是正确的类型。

首先将查询放在字符串中:

$query = "SELECT * FROM albums JOIN songs ON albums.performer=songs.performer";
然后,如果存在相册,请添加到该查询:

if ( !empty( $albumID ) ) {
  $query = $query . " WHERE albums.albumID = $albumID";
}
此时,我们可以继续运行查询:

$result = mysql_query( $query ) or die( mysql_error() );
我们使用
mysql\u query
运行查询,并将其结果传递到
$result
变量中。如果出现任何错误,例如查询中的错误,我们的程序将
死亡
,最新的
mysql\u error()
将打印到屏幕上

使用
$result
变量,我们现在可以循环并打印结果:

while ( $row = mysql_fetch_object( $result ) ) {
  echo $row->columnA
}

请注意,
columnA
是一个占位符,您应该在其中实际写入存储在数据库中的列名。

首先将查询放入字符串中:

$query = "SELECT * FROM albums JOIN songs ON albums.performer=songs.performer";
然后,如果存在相册,请添加到该查询:

if ( !empty( $albumID ) ) {
  $query = $query . " WHERE albums.albumID = $albumID";
}
此时,我们可以继续运行查询:

$result = mysql_query( $query ) or die( mysql_error() );
我们使用
mysql\u query
运行查询,并将其结果传递到
$result
变量中。如果出现任何错误,例如查询中的错误,我们的程序将
死亡
,最新的
mysql\u error()
将打印到屏幕上

使用
$result
变量,我们现在可以循环并打印结果:

while ( $row = mysql_fetch_object( $result ) ) {
  echo $row->columnA
}

请注意,
columnA
是一个占位符,您应该在其中实际写入存储在数据库中的列名。

好吧,您没有提到任何问题;)嗯,你没有提到任何问题;)您的查询是否以单引号开始,并以双引号结束?@JonathanSampson oops,忘记它了您的查询是否以单引号开始,并以双引号结束?@JonathanSampson oops,忘记它了