簡體   English   中英

在PHP中獲取兩個值作為輸入

[英]To get two values as input in php

在我下面的php代碼中,獲取學生的rollno和姓名作為輸入,並根據其顯示學生的地址和標記。 但是該代碼僅在我僅提供1個輸入的情況下有效。

<?php 

 if($_SERVER['REQUEST_METHOD']=='GET'){

 $rollno  = $_GET['rollno'];
$name  = $_GET['name'];


 require_once('dbConnect.php');

 $sql = "SELECT * FROM colleges WHERE rollno='".$rollno."'" and name='".$name."'";

 $r = mysqli_query($con,$sql);

 $res = mysqli_fetch_array($r);

 $result = array();

 array_push($result,array(

 "address"=>$res['address'],
 "marks"=>$res['marks']
 )
 );

 echo json_encode(array("result"=>$result));

 mysqli_close($con);

 }

替換$sql = "SELECT * FROM colleges WHERE rollno='".$rollno."'" and name='".$name."'";

"SELECT * FROM colleges WHERE rollno='".$rollno."' and name='".$name."'";

$ sql =“選擇*來自大學,而rollno ='”。$ rollno。“'”和name ='“。$ name。”'“;

已更正:

$ sql =“ SELECT * FROM高校,在那里rollno ='”。$ rollno。“'和name ='”。$ name。“'”;

但是為了更好,您應該使用准備好的語句

$link = mysqli_connect("localhost", "my_user", "my_password", "db_name");
$query = "SELECT * FROM colleges WHERE rollno=? AND name=?"; 
$params = array($rollno,$name); 
mysqli_prepared_query($link,$query,"ss",$params) 

檢查並確保$ sql查詢行在您的代碼中正確,因為您的問題不正確。

$sql = "SELECT * FROM colleges WHERE rollno='".$rollno."'" and name='".$name."'"; 

應該

$sql = "SELECT * FROM colleges WHERE rollno='" . $rollno . "' and name='" . $name ."'";

或使用單引號將性能提高為:

$sql = 'SELECT * FROM colleges WHERE rollno = "' . $rollno .'" and name= "' . $name ."';

其次,$$ rollno的數據類型是什么,如果它不是字符串,則考慮刪除其周圍的單引號。

第三,請確保rollno和name列始終都具有變量,並且使用正確的查詢,否則都將得到Null結果。

最后,我強烈建議您下次使用pdo及其准備好的語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM