學習過程就是一個不斷遺忘的過程,我把這些容易忽視遺漏的點記錄下來。(後期還會繼續增加)
一、基礎
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