Ich arbeite an einem PHP-Skript, das Daten von MySQL erhalten soll.MySQL Abfragevariable nicht akzeptiert
Hier ist, was mache ich:
<?php
include('db.php');
session_start();
$doctor_actual=$_SESSION['doctor_actual'];
echo $doctor_actual;
if(isset($_REQUEST['actionfunction']) && $_REQUEST['actionfunction']!=''){
$actionfunction = $_REQUEST['actionfunction'];
call_user_func($actionfunction,$_REQUEST,$con,$limit,$adjacent);
}
function showData($data,$con,$limit,$adjacent){
$page = $data['page'];
if($page==1){
$start = 0;
}
else{
$start = ($page-1)*$limit;
}
$sql = "select * from tb_opiniones_doctor where codigo_verificacion = '".$doctor_actual."' order by id_opinion_doctor asc";
$rows = $con->query($sql);
$rows = $rows->num_rows;
$sql = "select * from tb_opiniones_doctor where codigo_verificacion = '".$doctor_actual."' order by id_opinion_doctor asc limit $start,$limit";
$data = $con->query($sql);
$str='<table><tr class="head"><td>Id</td><td>Firstname</td><td>Lastname</td></tr>';
if($data->num_rows>0){
while($row = $data->fetch_array(MYSQLI_ASSOC)){
$str.="<tr><td>".$row['id_opinion_doctor']."</td><td>".$row['id_opinion_doctor']."</td><td>".$row['id_opinion_doctor']."</td></tr>";
}
}else{
$str .= "<td colspan='5'>No Data Available</td>";
}
$str.='</table>';
echo $str;
pagination($limit,$adjacent,$rows,$page);
}
Meine Probleme sind an den beiden Abfragen, sie funktionieren nur, wenn ich den realen Wert für $ doctor_actual setzen, nicht als Variable.
Ich habe den Wert für $ doctor_actual, es ist 9dv2ACvtwn2 echoed.
Wenn ich die Abfragen einfügen .. wo codigo_verificacion = "9dv2ACvtwn2" ... die Abfragen funktionieren gut.
Wenn ich gesagt:
codigo_verificacion = '".$doctor_actual."'
oder
codigo_verificacion = '.$doctor_actual.'
oder
codigo_verificacion = $doctor_actual
es erscheint die Meldung:
No Data Available
Danke, Wolen, Sie haben Recht. – mvasco
Obwohl technisch korrekt, wird normalerweise nicht empfohlen, 'global' ->' global $ var; 'zu empfehlen. Da sie bereits Funktionsparameter verwenden, empfiehlt es sich, sie dort hinzuzufügen. – Sean
Sie haben Recht, Wert als Parameter übergeben ist die bessere Idee, ich werde meine Antwort aktualisieren, danke! – Wolen