我正在尝试使用PHP和MySQL创建一个电子商务购物车,但是PHP代码没有创建数据库和表。
我目前正在观看有关如何执行此操作的youtube视频,并且已逐字母复制了代码,但似乎根本无法正常工作。
<?php
class CreateDb
{
public $servername;
public $username;
public $password;
public $dbname;
public $tablename;
public $con;
// Class constructor
public function __construct(
$dbname = "NewDB",
$tablename = "Productdb",
$servername = "localhost",
$username = "root",
$password = "root"
)
{
$this->dbname = $dbname;
$this->tablename = $tablename;
$this->servername = $servername;
$this->username = $username;
$this->password = $password;
// Create connection
$this->con = mysqli_connect($servername, $username, $password);
// Check connection
if (!$this->con){
die("Connection failed : " . mysqli_connect_error());
}
// Query
$sql = "CREATE DATABASE $dbname";
// Execute query
if(mysqli_query($this->con, $sql)){
$this->con = mysqli_connect($servername, $username, $password, $dbname);
// SQL to create new table
$sql = " CREATE TABLE $tablename
(ID INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
ProductName VARCHAR (25) NOT NULL,
ProductPrice FLOAT,
ProductImage VARCHAR (100)
);";
if (!mysqli_query($this->con, $sql)){
echo "Error creating table : " . mysqli_error($this->con);
}
}else{
return false;
}
}
}
在Mamp上加载屏幕时,应该创建数据库-至少,这就是youtube上的那个家伙所做的。没有显示错误,只是未在Mamp上创建数据库。
答案 0 :(得分:3)
查询中不需要;
:
https://www.w3schools.com/php/php_mysql_create_table.asp
https://www.w3schools.com/php/php_mysql_create.asp
使用mysqli_error($conn);
进行调试。
您的用户可能没有足够的权限。
答案 1 :(得分:0)
$sql = "CREATE DATABASE $dbname";
中没有分号
答案 2 :(得分:0)
$sql = "CREATE DATABASE $dbname";
应该是这样
$sql = "CREATE DATABASE $dbname;";
您缺少;用于SQL。最后;用于PHP编码。