2013-10-26 3 views
0

теперь у меня есть два выпадающих списка, один для имени, а другой - время. Я хочу, когда пользователь нажмет на нужное имя в первом раскрывающемся списке, время, отображаемое во втором раскрывающемся списке, должно принадлежать имени, выбранному в первом раскрывающемся списке.как вставить переменную php в sql-запрос?

$con=mysqli_connect("localhost","root","123","fyp"); 
$query1 = mysqli_query($con,"SELECT fname FROM lecturer"); 

echo "Select lecturer:<select name= 'fname'>"; 
$name = 'fname'; 
$name = mysql_real_escape_string($name); 
while($row=mysqli_fetch_array($query1)) 
{ 
    echo "<option value='". $row['fname']."'>".$row['fname']. '</option>'; 
} 
    echo '</select>'; 

$con=mysqli_connect("localhost","root","123","fyp"); 
$query3 = mysqli_query($con,"SELECT stime FROM studbooking WHERE lecname is '$name'"); 

echo "Select Booking time:<select name= 'stime'>"; 
while($row=mysqli_fetch_array($query3)) 
{ 
    echo "<option value='". $row['stime']."'>".$row['stime']. '</option>'; 
} 
    echo '</select>'; 

Как использовать переменные php в sql-запросе?

+0

Вы хотите использовать 'eval()'? –

+1

Вы не должны использовать 'mysql_real_escape_string'. Привяжите параметры или используйте эквивалент mysqli. –

+0

Вы не можете смешивать функции mysql и mysqli. Если вы избежите использования переменной вместо использования параметризованных запросов, вы должны использовать 'mysqli_real_escape_string'. – Barmar

ответ

1

Для этого вы можете использовать mysqli-> bind_param.

mysqli::bind_param

Пример

$statement = $mysqli->prepare("SELECT stime FROM studbooking WHERE lecname=?"); 
$statement->bind_param('s', $name); 
$statement->execute(); 

$result = $statement->get_result(); 
while ($row = $result->fetch_assoc()) { 
    print_r($row); 
} 
+1

Вы можете уточнить, как OP может использовать то, что вы предлагаете. – mavrosxristoforos

+0

Извините, я отредактировал свой пост;) – demonking

0

Изменение:

$name = mysql_real_escape_string($name); 

к:

$name = mysqli_real_escape_string($con, $name); 

Вы не можете использовать функции mysql с mysqli, и наоборот.

Смежные вопросы