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的默认编码问题解决(详解)

  • 相关阅读:
    关于ng路由的传参问题(传递一个,多个参数)
    ng指令控制一个元素的影藏的与显示几种方法的使用
    将一个对象push到数组之中的几点问题
    关于ng的路由的几点想法(ui-view)
    angularJS自定义一个过滤器
    ng自带的表单验证
    实现标签的添加与删除(tags)
    关于ng-class,ng-style的用法
    5分钟搞懂:session与cookie
    前端浏览器的两种缓存:协商缓存和强缓存
  • 原文地址:https://www.cnblogs.com/expedition/p/10645819.html
Copyright © 2011-2022 走看看