【问题标题】:Retrieve Row from MYSQL Table and Echo content - PHP从 MYSQL 表和 Echo 内容中检索行 - PHP
【发布时间】:2014-03-16 21:07:33
【问题描述】:
我似乎无法从我的桌子上回应任何东西。连接很好。
<?php
include('config.php');
$id=$_GET['version'];
$res = mysql_query("SELECT url, logo FROM versions WHERE version = ".$id);
$row = mysql_fetch_array($res);
echo $row['url'];
?>
version、url 和 logo 是称为版本的表中的属性。
URL 参数是版本。测试网址是
http://localhost/view?version="a"
Echo 没有发出任何东西。
请帮忙。
【问题讨论】:
标签:
php
mysql
echo
record
url-parameters
【解决方案1】:
应该是这样的:
http://localhost/view?version=a
和你的代码:
<?php
include('config.php');
$id=mysql_real_escape_string($_GET['version']);
$res = mysql_query("SELECT url, logo FROM versions WHERE version = '$id'");
$row = mysql_fetch_array($res);
echo $row['url'];
?>
我添加了 mysql_real_escape_string 来清理 $_GET 以防止 sql 注入,并在查询中用 ' 包围 $id,因为它是一个字符串,而不是整数。
注意:你应该停止使用 mysql_ 因为这些功能已被弃用,开始使用 mysqli 或 PDO
【解决方案2】:
您需要将查询设置为
$res = mysql_query("SELECT url, logo FROM versions WHERE version = '".$id."'");
你的代码也很不安全!!您需要使用 mysql_real_escape_string() 清理 $_GET['version']。
最好使用 mysqli_* 或 PDO