从php向表中插入行时如何修复我的MySQLi数据库

Posted

技术标签:

【中文标题】从php向表中插入行时如何修复我的MySQLi数据库【英文标题】:How to fix my MySQLi database when inserting rows to a table from php 【发布时间】:2019-06-26 22:54:12 【问题描述】:

我正在设置一个新的 Web 应用程序,并且我想找到一种方法以希腊语从 php 中插入一行

我通过 PHP 与 mysqli 建立连接,如下所示:

 $con = mysqli_connect("localhost", "root", "", "Mydb");  
    if (!$con)                                                       
    echo "Error: Unable to connect to MySQL.";
    exit;         
    if($con)       echo "connected with db <br/>";      

下一步是在表格中输入一些值,如下所示:

    if(isset($_POST['ok']))
       
        mysqli_query($con,"INSERT INTO products (product_name,product_delivery) VALUES ('$product_name','$delivey')");                                 
       

如果我的值名称是英文的,它就可以完美地工作。但是,如果我尝试用希腊语插入一个值,那么与该记录对应的数据库表的行会显示符号

Sample picture of the error

【问题讨论】:

你的 php 和 html 文件是 utf-8 编码的吗? 【参考方案1】:

有一种方法可以将 MySQL 的其他语言字符集设置为 shown here。希望能解决问题。

【讨论】:

【参考方案2】:

尝试以下方法:

连接到 mysql 后,执行以下查询以确保您使用的是 UTF8:

    mysqli_query("SET NAMES 'utf8'");
    mysqli_query("SET CHARACTER SET 'utf8'");

如果这没有帮助,请尝试不同的编码,例如 ISO-8859-1

【讨论】:

以上是关于从php向表中插入行时如何修复我的MySQLi数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何在遍历使用 mysqli_use_result 返回的行时执行 mysqli 查询? (PHP)

如何使用mysqli php从多个表中输出所有数据

当 iPhone 应用程序在向表中插入数据时或期间退出时,如何回滚 SQLite DB?

如何从视图中向表中插入值

如何提高在SSIS中向表中插入数据的性能

PHP MySQLi While 循环