在mysqli中使用$ _GET变量作为id

时间:2016-09-05 08:33:05

标签: php mysql mysqli ezsql

我想使用URL中的GET变量并在MySQL select语句中将其用作id,然后在页面上回显结果。我能够自己回显$ _GET变量,但是我无法将它用作查询中的变量。为什么下面的代码不起作用?

<?php
require_once(dirname(__FILE__) . '/core/config.php');
include_once "shared/ez_sql_core.php";
include_once "ez_sql_mysqli.php";
$db = new ezSQL_mysqli(DB_USER,DB_PASSWORD,DB_USER,'localhost');

$client = (int)mysqli_real_escape_string($_GET['client']);

$results = $db->get_results("SELECT * FROM clients WHERE id=" . $client.  ";");

foreach ( $results as $data ){ 
    echo $data->name; 
  }

?>

1 个答案:

答案 0 :(得分:3)

您正在以错误的方式使用该ezSQL。

以下是必须使用的方法:

$ echo " scale = 3; 5+50*3/20 + (10*9)/7 " | bc
17.928

但是,我强烈建议摆脱这种荒谬的不安全解决方案并使用PDO代替:

$client = $db->escape($_GET['client']);
$results = $db->get_results("SELECT * FROM clients WHERE id='$client'");