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

我熟悉MySql数据库,但有一个名为MariaDB的新数据库。 我尝试从PHP代码插入数据而我不能,所以你可以帮我插入数据吗? 我在服务器上的PHP是5.4.32,我的MySQL版本是10.0.20-MariaDB-cll-live。</ p>

这是我用来尝试将数据插入MariaDB的代码 。</ p>

  $ connection = mysql_connect(“localhost”,“root”,“”);  //与服务器建立连接
$ db = mysql_select_db(“database”,$ connection); //从服务器中选择数据库

if(isset($ _ POST ['submit'])){//获取以URL格式传递的表单变量
$ name = $ _POST ['name'];
$ email = $ _POST ['email'];
if($ name!=''|| $ email!=''){
//插入SQL查询
$ query = mysql_query(“插入VIP会员 (姓名,电子邮件)值('$ name','$ email')“);
echo”&lt; br /&gt;&lt; br /&gt;&lt; span&gt;数据已成功插入... !!&lt; / span&gt;“;
}
其他{
echo”&lt; p&gt;插入失败&lt; br /&gt;某些字段为空.... !!&lt; / p&gt;“;
}
}

mysql_close($连接); //关闭与服务器的连接
</ code> </ pre>

编辑:我现在使用了mysqli代码,但它引发了我500错误。</ p>

  &lt;?php 
$ servername =“localhost”;
$ username =“username”;
$ password =“”;
$ dbname =“db_table”;

//创建连接
$ conn = mysqli_connect($ servername,$ username,$ password,$ dbname);
//检查连接
if(!$ conn){
die(“连接失败:”。mysqli_connect_error()); \ n}
if(isset($ _ POST ['submit'])){//获取以URL格式传递的表单变量
$ name = $ _POST ['name'];
$ email = $ _POST [' email'];
if($ name!=''|| $ email!=''){

$ sql =“INSERT INTO'VIP会员'(姓名,电子邮件)
VALUES('$ name', '$ email')“;

if(mysqli_query($ conn,$ sql)){
echo”新记录创建成功“;
} else {
echo”错误:“。 $ sql。 “&LT峰; br&gt;” 中 。 mysqli_error($ conn);
}
}

mysqli_close($ conn);
</ code> </ pre>
</ div>

展开原文

原文

I am familiar with MySql databases but there is this new database called MariaDB. I try to insert data there from PHP code and I can't, so can you help me insert the data? My PHP on the server is 5.4.32 and my MySQL version is 10.0.20-MariaDB-cll-live.

This is the code that I am using to try to insert data into 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

EDIT: I used the mysqli code now but it throws me an error 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);

dqkx69935
dqkx69935 对不起,我是新来的,我删除了答案,我修改了问题你能检查一下吗?:(@RocketHazmat
接近 5 年之前 回复
douke1891
douke1891 不要将其作为答案发布。它没有回答这个问题,是吗?将其编辑到您的问题中。
接近 5 年之前 回复
dongxi9326
dongxi9326 看看我在这里的最后一个答案,请它现在给我一个错误
接近 5 年之前 回复
doupeizheng3918
doupeizheng3918 这意味着phpMyAdmin应用程序正在使用MySQLi。你的代码也应该。
接近 5 年之前 回复
douduan3203
douduan3203 toolong
接近 5 年之前 回复
dongxin1980
dongxin1980 嗯,你是对的,我检查了phpmyadmin的右侧,并说扩展名:mysqli@RocketHazmat
接近 5 年之前 回复
duanpanyang1962
duanpanyang1962 谢谢man,顺便说一句,如果服务器的用户名最后有@localhost,我需要将其添加到代码中的用户名,或者只是在@的左侧。
接近 5 年之前 回复
dongzhuji1042
dongzhuji1042 附:此代码不安全。你不应该再使用mysql_query和朋友了。您应该考虑升级到MySQLi或PDO并切换到预准备语句。
接近 5 年之前 回复
doujiu7704
doujiu7704 你需要在反引号中包围你的表名,因为它有一个空格。插入“VIP会员”(“姓名”,“电子邮件”)价值观(?,?);
接近 5 年之前 回复

3个回答

You need to use backticks (not single quotes) to surround your table name, since it has a space in it.

$sql = "INSERT INTO `VIP Membership` (Name, Email) VALUES ('$name', '$email')";

UPDATE: You should really be using prepared statements. As it stands, this code is very unsafe.

$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);
}
dongnao2048
dongnao2048 很高兴我能帮助你。 如果您想提供反馈,请提前和/或接受此答案。 否则,只要知道我的帮助就足够了。
接近 5 年之前 回复
doubi9999
doubi9999 stackoverflow.com/help/someone-answers
接近 5 年之前 回复
dsfdf854456
dsfdf854456 我怎么能给你一个反馈或什么人? 这真的很有用,现在我解决了我的问题,你对我的态度非常认真
接近 5 年之前 回复
duanqun9618
duanqun9618 啊,是的,你是对的。 我检查了问题的修订版。 无论哪种方式,你都会砰的一声;-)
接近 5 年之前 回复
dongzhuifeng1843
dongzhuifeng1843 不过,他在第一个例子中没有使用单引号。
接近 5 年之前 回复
douche5961
douche5961 选择此答案(向上箭头)或将其标记为“已接受”(复选标记)。
接近 5 年之前 回复
dongnaota6386
dongnaota6386 不仅因为那里有空间,而且他们使用单引号INSERT INTO'VIP Membership';-)而不是ticks。
接近 5 年之前 回复
duanbi2760
duanbi2760 非常感谢你的帮助,我怎么能给你一个反馈或什么? @RocketHazmat是我能做的少付钱给你的
接近 5 年之前 回复
duannuo7878
duannuo7878 完全如果(isset($ _ POST ['submit'])){那一个。
接近 5 年之前 回复
dongtongjian3127
dongtongjian3127 嗯不要担心男人我想我修好了我做了一个错误@RocketHazmat
接近 5 年之前 回复
du2229
du2229 还要确保你没有错过任何;,},)等。
接近 5 年之前 回复
douduan1953
douduan1953 它给你带来了什么错误? 你看到任何MySQL错误吗? 你确定它不是PHP中的语法错误吗? 尝试添加ini_set('display_errors',1); 使用error_reporting(-1); 并查看是否收到错误消息?
接近 5 年之前 回复
dongtiao5094
dongtiao5094 男人仍然向我抛出同样的错误:(我们可以聊聊聊天吗?@RocketHazmat
接近 5 年之前 回复



MariaDB是MySQL的向后兼容,二进制插件替代品。 这意味着MariaDB版本将与MySQL完全一样。 您无需执行任何特定操作即可使您的MySQL代码在MariaDB上运行。 但是在你的代码中,我会使用 mysqli </ code>函数(或PDO)而不是旧的不推荐的 mysql </ code>。</ p>

正如你可能的那样 遇到一些不兼容的问题,你可以查看这份官方文件中两者之间的差异。 MariaDB vs MySQL </ p>
</ div >

展开原文

原文

MariaDB is a backward compatible, binary drop-in replacement of MySQL. That means MariaDB version will work exactly like MySQL. You don't have to do anything specific to make your MySQL code to work on MariaDB. But in your code I would use the mysqli function (or PDO) instead of the old deprecated mysql one.

As you may encounter some incompatibilities you can check this official document for differences between the two. MariaDB vs MySQL



检查括号{insert code here}如果这个东西没有正确排列会带来错误</ p>
</ DIV>

展开原文

原文

check your brackets { insert code here } if this thing is not arranged properly it brings out an error

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问