我有这个代码,它显示了来自数据库的一些信息,但它不起作用 Connecta.php代码
<?php
$dbhost = '*';
$dbuser = '*';
$dbpass = 'nQ4*jH5!';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('*');
mysql_query("SET NAMES UTF8");
?>
这是我遇到问题的页面的来源
<?php
$id = $_REQUEST['id'];
require("../connecta.php");
$sql = 'SELECT mirror_link
FROM fallaga_tbl WHERE id=\'$id\' ';
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Zone-P || Fallaga Mirror</title>
<link rel="stylesheet" type="text/css" href="../home.css">
<link rel="SHORTCUT ICON" href="http://www.fallega.tn/icon.gif" height="350" width="350">
</head>
<body>
<div align="center">
<div class="header">
<div align="center"><a class="titlee" >Fallaga Mirror</a><br><img width="500px" src="http://tunisiaface.net/wp-content/uploads/2013/04/l.png"></div>
<div class="menu">
<ul>
<li><a href="../index.php">HOME</a></li>
<li><a href="../News.php">NEWS</a></li>
<li><a href="../NOTIFY/NOTIFY.php">NOTIFY</a></li>
<li><a href="../NOTIFY/MassNotify.php">MASS NOTIFY</a></li>
<li><a href="../ONHOLD.php">ONHOLD</a></li>
<li><a href="../Archive.php">ARCHIVE</a></li>
<li><a href="../About.php">ABOUT</a></li>
<li><a href="../Contact.php">CONTACT</a></li>
</ul>
</div>
</div>
<div class="main">
<iframe src="
<?php while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) { echo "{$row['mirror_link']}"; } mysql_close($conn) ; ?>
" style="width:770px;height:500px;">
<p>Your browser does not support iframes.</p>
</iframe>
</div>
<div class="bottom">
Zone-p - Fallaga mirror service © 2014 - <a style="color:white;" href="https://www.facebook.com/mahdi.com.tn ">by Màh Di</a>
</div>
</div>
</body>
</html>
当我从浏览器打开页面时,我看到html并没有错误但是对于iframe没有任何内容出现在src =“”它仍然是空的 可以告诉我什么是错的吗?
答案 0 :(得分:-2)
似乎你应该在第3行使用“而不是”,否则SQL中的''$ id \'只能被称为字符串值'$ id',而不是MYSQL的有效id值。
第3行的代码:
$sql = 'SELECT mirror_link
FROM fallaga_tbl WHERE id=\'$id\' ';
应该是:
$sql = "SELECT mirror_link
FROM fallaga_tbl WHERE id='{$id}'";
此外您还可以将代码行1更改为
$id = mysql_escape_string( $_REQUEST['id'] );
防止SQL注入。