2015-01-15 52 views
-1

只是试图使用php的“回声”来粘贴一些值,并且运气不好。

我相信我使用的代码在其第一个变量设置“$ theid”中存在问题,它从表中获取id字段。下面的代码:然后

<?php 

$conn=mysql_connect("localhost", "username", "password") 
or die ("Cannot Connect to MYSQL"); 

mysql_select_db("database1", $conn) 
or die ("Cannot Connect to the Database"); 
echo "Connected successfully"; 

$theid = isset($_GET['id'])?$_GET['id']:""; //Possible problematic code 

$data = mysql_fetch_array(mysql_query("SELECT * FROM table1 WHERE id='$theid'")); 

?> 

的数据将用于:

<?php echo $data['url'] ?> 

问题是,什么是在 “$ DATA”

显示故障排除这一点,并在SO四处寻找后,我我还没有找到答案。任何反馈都非常感谢,我敢肯定,这只是我使用语法的错误!谢谢。

+7

()''里面mysql_fetch_array()'你可以当'的mysql_query()'失败,不能进行调试。注意,你应该放弃任何使用'mysql_'的尝试并更新到'mysqli_'或'PDO'。 – Sean

+0

此外,'$ _GET '用于获取通过HTTP GET发送的参数(通常通过URL)。你如何测试这个页面?如果你访问这个页面,你将只能得到任何东西,例如'http://localhost/test.php ?ID = 123' – mathielo

+0

感谢您的评论肖恩,我会考虑做到这一点。我使用在线测试服务器和基于Apache的本地服务器@mathielo :) – ReConnected

回答

0
$result = mysql_query("SELECT * FROM table2 WHERE id='$theid'"); 

while($data = mysql_fetch_array($result)){ 
    echo $data['url']; 

筑巢'的mysql_query时错误命名表

0

使用while循环来打印查询结果数据

<?php 

$conn=mysql_connect("localhost", "username", "password") 
or die ("Cannot Connect to MYSQL"); 

mysql_select_db("database1", $conn) 
or die ("Cannot Connect to the Database"); 
echo "Connected successfully"; 

if(isset($_GET['id'])){ 
    $theid = $_GET['id']; 
} 

$result = mysql_query("SELECT * FROM table1 WHERE id='$theid'"); 

while($data = mysql_fetch_array($result)){ 
    echo $data['url']; 
} 

?> 
+0

不幸的是,这不起作用@jivani ,仍然无法获得任何数据 – ReConnected

+0

警告:mysql_fetch_array()期望参数1是资源,布尔给定 – ReConnected

0
$conn=mysql_connect("localhost", "username", "password") 
or die ("Cannot Connect to MYSQL"); 

mysql_select_db("database1", $conn) 
or die ("Cannot Connect to the Database"); 
echo "Connected successfully"; 

//default value 
$theid = 0; 
if(isset($_GET['id'])){ 
    $theid = $_GET['id']; 
} 

$result = mysql_query("SELECT * FROM table1 WHERE id='".(int)$theid."'"); 

while($data = mysql_fetch_array($result)){ 
    echo $data['url']; 
} 

演员来诠释,以防止SQL注入, 和VAR成简单的报价不能被解释concate或不使用' 在PHP var被解释为双引号。

+0

看来我们正在接近一个可行的结果,感谢您的答案@bastien!但是现在我遇到$ _GET ['id']的问题,它没有找到任何结果。使用“var_dump($ _ GET)”我剩下“array(0){}” – ReConnected

+0

@ReConnected尝试与myurl.html?id = 12取决于你是路由器:) – bastien