• PHP 操作数据库乱码 以及调试


    mysql> show create database pxscj;
    +----------+---------------------------------------------------------------+
    | Database | Create Database |
    +----------+---------------------------------------------------------------+
    | pxscj | CREATE DATABASE `pxscj` /*!40100 DEFAULT CHARACTER SET gbk */ |
    +----------+---------------------------------------------------------------+
    1 row in set (0.00 sec)

    mysql>

    ####ex9_2.php

    <?php
    $conn=mysql_connect('localhost','root','') or die('连接失败');
    mysql_select_db('PXSCJ', $conn) or die('选择数据库失败');
    ###mysql_query("SET NAMES gb2312");
    mysql_query("SET NAMES utf8");
    $sql="select * from XSB where 性别=0";
    ##$sql="select * from XSB";
    ###echo $sql;
    ###$result=mysql_query($sql);
    $result = mysql_query($sql) or die(mysql_error());
    echo "<table border=1>";
    echo "<tr><td>学号</td><td>姓名</td><td>总学分</td></tr>";
    while($row=mysql_fetch_row($result))
    {
    list($XH,$XM,$XB,$CSSJ,$ZY,$ZXF,$BZ)=$row;
    echo "<tr><td>$XH</td><td>$XM</td><td>$ZXF</td></tr>";
    }
    echo "</table>";
    ?>

    ####

    调试方法1

    $result = mysql_query("SELECT * FROM `liebiao` WHERE leixing = '女连衣裙'",$con) or die(mysql_error());
    加上or die(mysql_error()) 看看报错~
    ------------------------
    mysql_query执行成功就返回资源形变量~否则返回false~所以造成了以上报错~
    ------------------------
    另外,调试的时候~去掉‘@’。不然不会报错的。。
    $con = @mysql_connect("localhost", "root", "liujun") or die("数据错误!"); // 这个or die就不会执行了~


    调试方法2:
    在执行mysql_query函数之前,要先执行mysql_query("set names gbk");
     
    根据你数据库的字符集 选择 set names gbk搜索 或者 set names utf8 一下
  • 相关阅读:
    数据移除的循环
    C#窗体多语言切换(简繁)
    C# 文字转换最简单的方法
    使用CodeDOM动态编译一个字符串表达式
    C#设置WebBrowser默认浏览器
    Image和字节数组互转
    苹果手机的SB系列(8)为什么没有短信全部删除?
    循环删除外键约束
    腾讯云COS自定义域名,支持https,CDN,私有访问
    腾讯云COS请求签名C#版
  • 原文地址:https://www.cnblogs.com/feiyun8616/p/6727547.html
Copyright © 2020-2023  润新知