我目前正在学习PHP,而且我正在编写注册表。 在我的代码中的某处我有这些陈述
$query = "SELECT `stud_no` FROM `tb_registered_users` WHERE `stud_no`='$studno'";
和
$query = "INSERT INTO `tb_registered_users`
VALUES ('".$studno."','".$firstname."','".$lastname."')";
但我希望声明这个变量并在上面提到的查询中使用它
$mysql_tb = 'tb_registered_users';
那么这个的正确语法是什么?
答案 0 :(得分:8)
$query = "INSERT INTO `" . $mysql_tb . "`
VALUES ('".$studno."','".$firstname."','".$lastname."')";
答案 1 :(得分: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."')";
答案 2 :(得分:0)
$mysql_tb = 'tb_registered_users';
$query = "SELECT `stud_no` FROM `".$mysql_tb."` WHERE `stud_no`='$studno'";
答案 3 :(得分:0)
你可以这样做
$query = "SELECT `stud_no` FROM " . $mysql_tb . " WHERE `stud_no`='$studno'";
但我建议调查PDO(http://www.php.net/manual/en/book.pdo.php&amp;&amp; http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/)。
答案 4 :(得分:0)
$query = "SELECT `stud_no` FROM `".$mysql_tb."` WHERE `stud_no`='$studno'";
和
$query = "INSERT INTO `".$mysql_tb."` VALUES ('".$studno."','".$firstname."','".$lastname."')";
您可能还希望使用类似PDO的内容来允许您使用命名参数并避免SQL注入。
答案 5 :(得分:0)
如果使用双引号也适用于我:
$newDataInput = "INSERT INTO $mysql_tb (Date,Time) VALUES ('$date','$time')";
答案 6 :(得分:0)
顺便说一句,您还可以使用sprintf函数执行如下所示的相同操作
(PHP 4,PHP 5,PHP 7) sprintf —返回格式化的字符串
$mysql_tb = 'tb_registered_users';
$query1 = sprintf("SELECT `stud_no` FROM `%s` WHERE `stud_no`='$studno'",$mysql_tb);
$query2 = sprintf("INSERT INTO `%s` VALUES ('".$studno."','".$firstname."','".$lastname."')",$mysql_tb);
只需将%s放在要替换值的位置,然后将第二个参数用作变量,如此处所示。它与c语言和c ++中的功能相同。您也可以用多个参数替换多个值。这是php手册帮助