0

ユーザーから入力を取得しようとしています。これにより、テーブルからデータが取得されて表示されます。

私のコードは

$ini = $_GET["ini_id"];
$con=mysqli_connect("localhost","root","","globalgoals");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
else

{
    $country = array();
    //country
    $sql="";
 //!mysqli_query($con,$sql))
    $result = mysqli_query($con,"SELECT * FROM country WHERE metrics="$ini");/*table name*/
    while($row = mysqli_fetch_array($result))
    {
        array_push($country,$row['country']);/*column name*/
    }
    //

URLを入力するとhttp://localhost/xampp/testing/Int/table.php?ini=C2C

エラーが発生します

Notice: Undefined index: ini_id in C:\xampp\htdocs\xampp\Testing\Int\table.php on line 2
4

4 に答える 4

3

$ini = $_GET["ini"];不合格だからゲットini_id

2番

$result = mysqli_query($con,"SELECT * FROM country WHERE metrics='".$ini."'");
于 2013-03-22T08:52:25.973 に答える
1

issetを使用...

$ini = (isset($_GET['ini_id'])) ? $_GET['ini_id'] : null;

しかし、おそらくもっと重要なことは、データベース クエリの一部として使用する前に、その変数を保護する必要があることです。ID は英数字であるため、mysqli_real_escape_string() を使用します。

$ini = (isset($_GET['ini_id']) ? $_GET['ini_id'] : null;
$ini = mysqli_real_escape_string($con, $ini);
于 2013-03-22T09:01:29.623 に答える
0

もう一つ、

$result = mysqli_query($con,"SELECT * FROM country WHERE metrics='".$ini."'");

変数の前後のドットを見逃しました。

于 2013-03-22T08:53:46.253 に答える
0

ここであなたはこのように取得しようとしています$_GET['ini'];

http://localhost/xampp/testing/Int/table.php?ini=C2C

あなたがそれを取得しようとしている場合$_GET['ini_id']

http://localhost/xampp/testing/Int/table.php?ini_id=C2C //change here
于 2013-03-22T09:20:38.173 に答える