2012-12-01 20 views
5

Attualmente sto imparando PHP e sto lavorando su un modulo di registrazione. Da qualche parte nel mio codice ho queste affermazioniPHP: utilizzo di una variabile per contenere un nome tabella e utilizzo di tale variabile nelle query

$query = "SELECT `stud_no` FROM `tb_registered_users` WHERE `stud_no`='$studno'"; 

e

$query = "INSERT INTO `tb_registered_users` 
VALUES ('".$studno."','".$firstname."','".$lastname."')"; 

ma invece voglio dichiarare questa variabile e utilizzarlo nelle query di cui sopra

$mysql_tb = 'tb_registered_users'; 

Allora, qual è la sintassi corretta per questo?

risposta

6
$query = "INSERT INTO `" . $mysql_tb . "` 
VALUES ('".$studno."','".$firstname."','".$lastname."')"; 
0
$mysql_tb = 'tb_registered_users'; 

$query = "SELECT `stud_no` FROM `".$mysql_tb."` WHERE `stud_no`='$studno'"; 
0
$query = "SELECT `stud_no` FROM `".$mysql_tb."` WHERE `stud_no`='$studno'"; 

e

$query = "INSERT INTO `".$mysql_tb."` VALUES ('".$studno."','".$firstname."','".$lastname."')"; 

Si consiglia inoltre di considerare di usare qualcosa di simile PDO che vi permetterà di utilizzare parametri denominati ed evitare iniezioni SQL.

7
<?php 
$mysql_tb = 'tb_registered_users'; 
$query = "SELECT `stud_no` FROM `{$mysql_tb}` WHERE `stud_no`='$studno'"; 
$query = "INSERT INTO `{$mysql_tb}` VALUES ('".$studno."','".$firstname."','".$lastname."')"; 
+0

questa sintassi parentesi graffa cambiato la mia vita, non sapeva che era possibile grazie! – Thomas

+0

@Yueyu potresti spiegare per favore qual è il lavoro della parentesi graffa –

0

lavorato anche per me, se utilizza le virgolette doppie:

$newDataInput = "INSERT INTO $mysql_tb (Date,Time) VALUES ('$date','$time')"; 
Problemi correlati