【问题标题】: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 没有发出任何东西。

请帮忙。

【问题讨论】:

  • 版本的数据类型是什么?
  • 数据类型为文本
  • 嗨科迪,试试这个var_dump($row)

标签: 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

    【讨论】:

      猜你喜欢
      • 2010-09-12
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      • 2020-09-03
      相关资源
      最近更新 更多