zoukankan      html  css  js  c++  java
  • PHP连接MySQL查询中文时显示Notice: Trying to get property of non-object

    1.保证MySQL和PHP的编码一致

    MySQL

    修改整个数据库的编码格式
        注意:如果数据不重要的话,可以直接使用更改数据库的编码格式,再重新建表即可。(此例中的数据库是test)
    alter database test character set utf8
    修改整张表的编码格式
    注意:如果数据是重要数据的话,执行下列代码把整张表编码格式转换成utf8即可(此例中的数据表是students)
     
    alter table students convert to character set utf8
    修改students 表中sname 字段的编码格式
    注意:第一个sanme是要给表中的sname字段修改编码格式。
       第二个sname varchar(64)是要修改的字段名和字段类型(一般和原表中一样,不会做修改)
       not null是修改sname不能为空的。(可以选择不加)
     
    alter table students change sname sname varchar(64) character set utf8 not null;
    也可以使用phpMyAdmin进入数据表
    或进入数据库

    PHP

    在php页面头部加上:
    header("Content-type: text/html; charset=utf-8");   //注意:这一句前不能向页面输出任何内容
    另外在html里设置的是 <meta http-equiv="content-type" content="text/html;charset=utf-8">

    2.获取由搜索框传递来的信息后,加上单引号

    搜索框:

    <form action="xxx.php" method="post">   

       <p >输入名字:</p><input type="text"  name="userName"  />

       <button type="submit" name="submit" value="搜索"/>搜索</button>
     
     
    xxx.php:

    $tofind = $_POST["userName"];

    $sql = "SELECT * FROM user WHERE  name='$tofind';";
    $result = $conn->query($sql);     

    即可实现查询汉字字符串

    【至少我的成了。。】

    如果还没有解决,可以尝试:

    https://blog.csdn.net/Amo_C1003/article/details/80473169      PHP+MySQL无法查询中文数据

    https://www.cnblogs.com/hechunhua/p/3837213.html    Apache以及PHP的默认编码问题解决(详解)

  • 相关阅读:
    将vue文件script代码抽取到单独的js文件
    git pull 提示错误:Your local changes to the following files would be overwritten by merge
    vue和uniapp 配置项目基础路径
    XAMPP Access forbidden! Access to the requested directory is only available from the local network.
    postman与newman集成
    postman生成代码段
    Curl命令
    POST方法的Content-type类型
    Selenium Grid 并行的Web测试
    pytorch转ONNX以及TnesorRT的坑
  • 原文地址:https://www.cnblogs.com/expedition/p/10645819.html
Copyright © 2011-2022 走看看