use php variable in name of mysql create table
我想使用 PHP 变量 ( $userAltId ) 作为我正在创建的 SQL 表的名称。然而,尽管查看了几个示例,我仍然无法使用此 PHP 变量成功创建表。使用 echo 我已经表明变量( $userAltId )确实包含预测值,如果我插入该值而不是变量,我可以成功创建表。
我对代码的最新尝试如下,请注意,我在创建、插入和选择过程中使用了 $useAltId 三次。感谢您的帮助!
<?php
$con=mysqli_connect('localhost', 'alexpnqo_johnny', '?KlI+TtfNEIO', 'alexpnqo_johnny');
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
session_start();
$userAltId = $_SESSION['userAltId'];//I am passing $userAltId from another php file
// escape variables for security
$FBname = mysqli_real_escape_string($con, $_POST['FBname']);
echo $userAltId;//echos desired value
$sqlFriendList="INSERT INTO '$userAltId' (FacebookFriend)
VALUES ('$FBname')";
if (mysqli_query($con,$sql)) {
echo "Table created successfully";
} else {
echo "Error creating table: " . mysqli_error($con);";
}
echo "You have added ";
echo $FBname;
echo " to your friend's list!";
echo "<br>";
echo "Below is your friends list";
echo "<br>";
echo "<br>";
$result = mysqli_query($con, "SELECT FacebookFriend FROM '$userAltId'");
echo "<table border='1'>
<tr>
<th>Friends List</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['FacebookFriend'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
最佳答案
对所有查询(表名称)使用反引号 $userAltId
,以便它读取您的变量,甚至空格。
$sqlFriendList="INSERT INTO `$userAltId` (FacebookFriend) VALUES ('$FBname')";
关于php - 使用 PHP 变量作为 MySQL 中的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25396122/