如何将PHP中的列数据插入MariaDB?

如何将PHP中的列数据插入MariaDB?,php,mysql,mariadb,Php,Mysql,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_d

我熟悉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
$connection=mysql\u connect(“本地主机”、“根目录”、“根目录”);//建立与服务器的连接
$db=mysql\u select\u db(“数据库”,$connection);//从服务器中选择数据库
if(isset($_POST['submit']){//获取在URL中传播的表单的变量
$name=$_POST['name'];
$email=$_POST['email'];
如果($name!=''| |$email!=''){
//SQL的插入查询
$query=mysql_query(“插入VIP成员资格(名称、电子邮件)值(“$Name”,“$Email”)”);
回显“

成功插入数据…!!”; } 否则{ echo“插入失败
某些字段为空….!!

”; } } mysql_close($connection);//正在关闭与服务器的连接
编辑:我现在使用了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是一个向后兼容的二进制直接替换MySQL。这意味着MariaDB版本的工作方式与MySQL完全相同。您不必做任何特定的事情来让您的MySQL代码在MariaDB上工作。但是在您的代码中,我会使用
mysqli
函数(或PDO),而不是以前不推荐的
mysql
函数

由于您可能会遇到一些不兼容,您可以查看此官方文档以了解两者之间的差异

您需要使用反勾号(而不是单引号)来环绕表名,因为表名中有空格

$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);
}
您需要使用反勾号(而不是单引号)来环绕表名,因为表名中有一个空格

$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}如果这个东西没有正确排列,它会产生一个错误

检查你的括号{insert code here}如果这个东西没有正确排列,它会产生一个错误

你需要将表名用反勾括起来,因为它有一个空格<代码>插入“VIP会员资格”(`Name`、`Email`)值(?,)备注。此代码不安全。您不应该再使用
mysql\u query
和朋友了。您应该考虑升级到MyQuLi或PDO并切换到准备好的语句。谢谢您,顺便说一句,如果服务器的用户名末尾有@localhost,我需要将其添加到代码中的用户名中,或者添加到@Mmm左侧的用户名中,你是对的,我在phpmyadmin的右侧检查了一下,并说扩展名:mysqli@RocketHazmatIn在PHP代码中,你不需要
@localhost
,就是
@
左边的内容。您需要将表名用倒勾括起来,因为表名中有空格<代码>插入“VIP会员资格”(`Name`、`Email`)值(?,)备注。此代码不安全。您不应该再使用
mysql\u query
和朋友了。您应该考虑升级到MyQuLi或PDO并切换到准备好的语句。谢谢您,顺便说一句,如果服务器的用户名末尾有@localhost,我需要将其添加到代码中的用户名中,或者添加到@Mmm左侧的用户名中,你是对的,我在phpmyadmin的右侧检查了一下,并说扩展名:mysqli@RocketHazmatIn在PHP代码中,你不需要
@localhost
,就在
@
的左边,这个人仍然向我抛出同样的错误:(我们可以在聊天中交谈吗?@rockethazmat它给了你什么错误?你看到MySQL错误了吗?你确定这不是PHP中的语法错误吗?试着添加
ini\u集('display\u errors',1);错误报告(-1)
并查看是否收到错误消息?还要确保没有遗漏任何
}
,等等。嗯,别担心,伙计,我想我解决了我犯了一个错误@RocketHazmat@RocketHazmat啊,是的,你说得对。我检查了问题的修改。不管怎样,你都很成功;-)男人仍然向我抛出同样的错误:(我们可以在聊天中交谈吗?@rockethazmat它给了你什么错误?你看到任何MySQL错误吗?你确定这不是PHP中的语法错误吗?尝试添加
ini\u集('display\u errors',1);错误报告(-1)
并查看是否收到错误消息?还要确保没有遗漏任何
}
,等等。嗯,别担心,伙计,我想我解决了我犯了一个错误@RocketHazmat@RocketHazmat啊,是的,你说得对。我检查了问题的修改。不管怎样,你都很成功;-)