如何将数据从 PHP 的列插入 MariaDB?
How to insert data to columns from PHP into MariaDB?
我熟悉 MySql 数据库,但有一个名为 MariaDB 的新数据库。我尝试从 PHP 代码中插入数据,但我不能,所以你能帮我插入数据吗?我在服务器上的 PHP 是 5.4.32,我的 MySQL 版本是 10.0.20-MariaDB-cll-live.
这是我用来尝试将数据插入 MariaDB 的代码。
$connection = mysql_connect("localhost", "root", ""); // Establishing Connection with Server
$db = mysql_select_db("database", $connection); // Selecting Database from Server
if(isset($_POST['submit'])){ // Fetching variables of the form which travels in URL
$name = $_POST['name'];
$email = $_POST['email'];
if($name !=''||$email !=''){
//Insert Query of SQL
$query = mysql_query("insert into VIP Membership(Name, Email) values ('$name', '$email')");
echo "<br/><br/><span>Data Inserted successfully...!!</span>";
}
else{
echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>";
}
}
mysql_close($connection); // Closing Connection with Server
编辑:我现在使用 mysqli 代码,但它抛出错误 500。
<?php
$servername = "localhost";
$username = "username";
$password = "";
$dbname = "db_table";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
if(isset($_POST['submit'])){ // Fetching variables of the form which travels in URL
$name = $_POST['name'];
$email = $_POST['email'];
if($name !=''||$email !=''){
$sql = "INSERT INTO 'VIP Membership' (Name, Email)
VALUES ('$name', '$email')";
if(mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
}
mysqli_close($conn);
MariaDB 是 MySQL 的向后兼容二进制替代品。这意味着 MariaDB 版本将像 MySQL 一样工作。您无需执行任何特定操作即可使您的 MySQL 代码在 MariaDB 上运行。但是在您的代码中,我会使用 mysqli
函数(或 PDO)而不是旧的已弃用的 mysql
函数。
由于您可能会遇到一些不兼容的情况,您可以查看此官方文档以了解两者之间的差异。 MariaDB vs MySQL
您需要使用 反引号(不是单引号)将您的 table 名称括起来,因为其中有一个 space。
$sql = "INSERT INTO `VIP Membership` (Name, Email) VALUES ('$name', '$email')";
更新:您应该真的使用准备好的语句。就目前而言,这段代码非常不安全。
$sql = mysqli_prepare($conn, "INSERT INTO `VIP Membership` (Name, Email) VALUES (?, ?)");
if($sql !== FALSE){
mysqli_stmt_bind_param($sql, "ss", $name, $email);
if(mysqli_stmt_execute($sql)){
echo "New record created successfully";
} else {
echo mysqli_stmt_error($sql);
}
} else{
echo mysqli_error($conn);
}
检查你的括号 { insert code here } 如果这件事没有正确安排它会引发错误
我熟悉 MySql 数据库,但有一个名为 MariaDB 的新数据库。我尝试从 PHP 代码中插入数据,但我不能,所以你能帮我插入数据吗?我在服务器上的 PHP 是 5.4.32,我的 MySQL 版本是 10.0.20-MariaDB-cll-live.
这是我用来尝试将数据插入 MariaDB 的代码。
$connection = mysql_connect("localhost", "root", ""); // Establishing Connection with Server
$db = mysql_select_db("database", $connection); // Selecting Database from Server
if(isset($_POST['submit'])){ // Fetching variables of the form which travels in URL
$name = $_POST['name'];
$email = $_POST['email'];
if($name !=''||$email !=''){
//Insert Query of SQL
$query = mysql_query("insert into VIP Membership(Name, Email) values ('$name', '$email')");
echo "<br/><br/><span>Data Inserted successfully...!!</span>";
}
else{
echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>";
}
}
mysql_close($connection); // Closing Connection with Server
编辑:我现在使用 mysqli 代码,但它抛出错误 500。
<?php
$servername = "localhost";
$username = "username";
$password = "";
$dbname = "db_table";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
if(isset($_POST['submit'])){ // Fetching variables of the form which travels in URL
$name = $_POST['name'];
$email = $_POST['email'];
if($name !=''||$email !=''){
$sql = "INSERT INTO 'VIP Membership' (Name, Email)
VALUES ('$name', '$email')";
if(mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
}
mysqli_close($conn);
MariaDB 是 MySQL 的向后兼容二进制替代品。这意味着 MariaDB 版本将像 MySQL 一样工作。您无需执行任何特定操作即可使您的 MySQL 代码在 MariaDB 上运行。但是在您的代码中,我会使用 mysqli
函数(或 PDO)而不是旧的已弃用的 mysql
函数。
由于您可能会遇到一些不兼容的情况,您可以查看此官方文档以了解两者之间的差异。 MariaDB vs MySQL
您需要使用 反引号(不是单引号)将您的 table 名称括起来,因为其中有一个 space。
$sql = "INSERT INTO `VIP Membership` (Name, Email) VALUES ('$name', '$email')";
更新:您应该真的使用准备好的语句。就目前而言,这段代码非常不安全。
$sql = mysqli_prepare($conn, "INSERT INTO `VIP Membership` (Name, Email) VALUES (?, ?)");
if($sql !== FALSE){
mysqli_stmt_bind_param($sql, "ss", $name, $email);
if(mysqli_stmt_execute($sql)){
echo "New record created successfully";
} else {
echo mysqli_stmt_error($sql);
}
} else{
echo mysqli_error($conn);
}
检查你的括号 { insert code here } 如果这件事没有正确安排它会引发错误