您的位置:首页 > 编程语言 > PHP开发

php简单笔记

2015-12-23 10:46 260 查看
学习过程就是一个不断遗忘的过程,我把这些容易忽视遗漏的点记录下来。(后期还会继续增加)

一、基础

1. 在用echo和print进行输出时,如果语句内部有双引号时,就用单引号进行输出。如:echo ‘She said “Hello!”’;
2. 在双引号内使用换行符(\n);
3. 如果单引号内部又出现单引号,则使用转义字符\.如:
echo ‘I\’m OK!’;
4. 可以使用‘.’对字符串进行连接。
5. 关于数字的函数:
round():将小数四舍五入为最接近的整数或者把小数四舍五入到指定的位数。
如:$n = 3.14;
$n = round($n);//n = 3
或者:
$n = round($n,1);//n = 3.1
number_format():将一个数字转换成更普遍的书写的版本,并使用逗号吧它分成“三位一组”。例如:
$n = 20943;
$n = number_format($n);//20,943
函数还可以设置小数点的指定位数:
$n = 20943;
$n = number_format($n,2);//20,943.00
二、联系数据库
php连接mysql数据库的几种方法
1.最原始的方法(php5.5之后都不支持这种方法了)

<?php
    $con = mysql_connect("localhost","root","");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    mysql_close($con);
    ?>


2.面向对象mysqli

<?php
    $mysqli = new mysqli('localhost','root','','volunteer');
    if (mysqli_connect_errno()){
    	die('Unable to connect!'). mysqli_connect_error();
    }
    ?>
3.pdo连接mysql

<?php 
     
    $db = new PDO('mysql:host=localhost;dbname=test', 'root', '');
    try {
    	foreach ($db->query('select * from user') as $row){
    		print_r($row);
    	}
    	$db = null;  //关闭数据库
    } catch (PDOException $e) {
    	echo $e->getMessage();
    }
    ?>


注:php5.5之后推荐使用mysqli和pdo来操作mysql

三、mysql数据表连接

Mysql 中数据表的连接方式整体可以分为两类:

1.内连接

内连接又主要包括相等连接和自然链接;

2.外连接

外连接主要包括右向外连接、左向外连接以及完整外部连接;

用简单的语言可以描述为:

内连接:把两个表中数据对应的数据查出来。其中记录为空的不列出来;

外连接:以某个表为基准把对应的数据查出来。

左连接以左表为主,左表中的所有记录会列出来,而右表只会显示符合搜索条件的记录;

右连接以右表为主,右表中的所有记录会列出来,而左表只会显示符合搜索条件的记录;

一些小问题:

备份mysql数据库的时候出现:

mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect
可以确定的是数据库密码是正确的,查了好久才知道原因->

系统上面有两个版本的mysql,系统默认的sock是之前旧版本的路径,所以现在备份的时候要指定新sock的位置:

mysqldump -u root -p --host=localhost test>test.sql --socket=/home/xuexiaoxu/tmp/mysqld.sock
备份成功!

这部分的内容可以参考这篇文章,讲解的十分详细:http://blog.chinaunix.net/uid-26805356-id-4138986.html

解决不能通过mysql.sock连接MySQL问题

这个问题主要提示是,不能通过'/tmp/mysql.sock'连到服务器,而php标准配置正是用过'/tmp/mysql.sock',但是一些mysql安装方法将mysql.sock放在/var/lib/mysql.sock或者其他的什么地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的东东:

[mysqld]

socket=/var/lib/mysql.sock

改一下就好了,但也会引起其他的问题,如mysql程序连不上了,再加一点:

[mysql]

socket=/tmp/mysql.sock

或者还可以通过修改php.ini中的配置来使php用其他的mysql.sock来连,这个大家自己去找找

或者用这样的方法:

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: