php简单笔记

学习过程就是一个不断遗忘的过程,我把这些容易忽视遗漏的点记录下来。(后期还会继续增加)

一、基础

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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值