视频 下方 有个 资料 下载, 案例源代码 里面就有了
加了,还是一样乱码....
java有一个json快速入门的课程了 你去看看
$xml=simplexml_load_string($xml);
$pics=$xml->children();这样就可以获取到了
检查一下你的PHP版本,可能你的版本比较新,已经抛弃了mysql的连接方式,可以采用mysqli或者PDO的链接方式尝试一下。希望我的回答能帮到你!
创建数据库连接
new ms_new_mysql("localhost" , "数据库用户名", "数据库密码" , "数据库名" , "数据库名前缀" , "编码方式" , "0")
最后一个参数设置为1时,使用mysql_pconnect,其他值为mysql_connect
eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在js中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为javascript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。所以下面两个执行结果是不同的:
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]
出处: http://blog.csdn.net/guoquanyou/article/details/8289559
这只是模拟通过ajax请求从数据库读取数据,然后以json格式返回结果集,你说用cookie是指的相关信息存在cookie和session中(如:登录用户的信息名称等),视频中的用的三个数据username,UID只是随意写的数据
会员基本信息基本上都是用session来记录的,显示出来的。 session作为超全局变量用起来比ajax来记录实用的多
这个是将json数据转换成javascript可以操作的js对象
JSON_parse() 可以代替
http://www.runoob.com/php/php-mysql-connect.html
PHP 连接 MySQL
PHP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi extension ("i" 意为 improved) PDO (PHP Data Objects) 在 PHP 早起版本中我们使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。 我是该用 MySQLi ,还是 PDO? 如果你需要一个简短的回答,即 "你习惯哪个就用哪个"。 MySQLi 和 PDO 有它们自己的优势: PDO 应用在 12 种不同数据库中, MySQLi 只针对 MySQL 数据库。 所以,如果你的项目需要在多种数据库中切换,建议使用 PDO ,这样你只需要修改连接字符串和部门查询语句即可。 使用 MySQLi, 如果不同数据库,你需要重新所有代码,包括查询。 两者都是面向对象, 但 MySQLi 还提供了 API 接口。 两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。
$dbTable表示的是你要进行操作的表,$pre表示的是表的前缀,$coding表示的是编码格式,$pcon这个的话是表示的是到服务器的持久连接啊!
视频的右下角有代码,可以下载的;-)
<script type="text/javascript"> $("document").ready(function () { var url = "server.php"; var data = {'inAjax': 1, 'do': 'checkMember', 'username': 'demo'}; $.ajax({ url: url, type: 'post', data: data, dataType: 'json', success: function (res) { //把json字符串转换为js对象,用来调用数据 // var jsonObj = JSON.parse(res); $("#username").val(res.username); $("#groupname").val(res.groupname); $("#uid").val(res.uid); }, error: function () { alert('请求异常'); } }); }); </script>
这样写,就可以不用转换了,都约定为json,直接调用就好
<?php error_reporting(0); $inAjax = $_POST['inAjax']; $do = $_POST['do']; $do = $do ? $do : "default"; if (!$inAjax) return false; include_once "db.class.php"; switch ($do) { case "checkMember": $username = $_POST['username']; $sql = "SELECT * FROM check_member WHERE username='$username'"; $result = $dbObj->getOne($sql); $resJson = json_encode($result); echo (!empty($result)) ? $resJson: "null"; break; case "default": die("nothing"); break; }
eval() 函数可将字符串转换为代码执行,并返回一个或多个值;
"+"是连接字符串,"("是将(转为字符串;
弄好了,原来是在PHP页面中要加上error_reporting(0);把错误提示关闭就可以了。
$sql="CREATE TABLE tablename( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, jianjie VARCHAR(100) NOT NULL)"; if(mysql_query($sql,$con)){ echo '数据表建立成功!'; }else{ echo '数据表建立失败!'; }
注意id为UNSIGNED无符号,AUTO_INCREMENT自增,PRIMARY KEY设为主键
另外最最重要的编码字符集问题,都统一成utf8同类型的
。。。。
解决问题了,在php.ini 的error_reporting中加上 ~E_DEPRECATED
因为php每次把这样的警告的消息也返回,和我们返回的json串混在一起返回,导致我们在解析 json的时候失败
hhh
Sublime Text、Vim、Notepad++三款快速高效的编辑器