我在PHP中编写一个简单的表单来获取输入并将其插入数据库,我成功创建了一个数据库,但没有创建表。我使用Xampp作为数据库。 这是我创建表格的代码:
mysqli_select_db($DBconnect, $DBname);
$TableName = "Bugtrack";
$SQLstring = "SHOW TABLES LIKE ' " . $TableName . "' ";
if ($stmt = mysqli_prepare($DBconnect, $SQLstring)) {
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
if (mysqli_stmt_num_rows($stmt) == 0) {
mysqli_stmt_close($stmt);
$SQLstring = "CREATE TABLE" . $TableName . "(BugID SMALLINT
. NOT NULL AUTO_INCREMENT PRIMARY KEY,
. Game VARCHAR(10), Version VARCHAR(5),
Platform VARCHAR(10), Frequency VARCHAR(5),
proposed_solution TINYTEXT)";
if ($stmt = mysqli_prepare($DBconnect, $SQLstring)) {
$QueryResult = mysqli_stmt_execute($stmt);
if ($QueryResult === FALSE) {
echo "<p>Unable to create the table.</p>"
. "<p>Error code "
. mysqli_errno($DBConnect)
. ": " . mysqli_error($DBConnect)
. "</p>";
}
mysqli_stmt_close($stmt);
}
}
}
答案 0 :(得分:1)
尝试回显$ SQLstring并在mysql控制台中运行查询。它将指出您的查询的确切问题。
答案 1 :(得分:0)
将此行修改为$SQLstring = "CREATE TABLE" . $TableName . "(BugID SMALLINT
至$SQLstring = "CREATE TABLE " . $TableName . " (BugID SMALLINT
您可以检查$SQLstring = "SHOW TABLES LIKE ' " . $TableName . "' ";
$SQLstring = "CREATE TABLE " . $TableName . " if not exists (BugID SMALLINT
。
醇>
答案 2 :(得分:0)
如果您使用的是XAMPP,请使用您的webbrowser转到localhost / phpmyadmin。 选择您的数据库,然后选择sql。
创建你的桌子。
CREATE TABLE Bugtrack (
BugID INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
Game VARCHAR(10), Version VARCHAR(5),
Platform VARCHAR(10),
Frequency VARCHAR(5),
proposed_solution TINYTEXT
)
如果你真的想用php做。我会使用PDO。
$username = 'me';
$password = 'my_super_secret_password';
$dsn = 'mysql:host=localhost;dbname=my_database';
$conn = new PDO($dsn, $username, $password);
$sql = 'CREATE TABLE Bugtrack (
BugID INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
Game VARCHAR(10), Version VARCHAR(5),
Platform VARCHAR(10),
Frequency VARCHAR(5),
proposed_solution TINYTEXT
)';
$conn->execute($sql);
OR
转到localhost / phpmyadmin,单击左侧的数据库。您将看到创建表的选项。我还要确保您拥有自己创建的数据库的权限。为此,当您在phpmyadmin中时,单击您的数据库,选择几乎位于页面顶部的权限选项卡。从那里只需按照提示进行操作。