这两天有个课程项目需要用PHP操作下数据库,学习完简单总结下PHP基本语法,以及操作数据库的代码,方便复用。
一些最基本的语法,比如流程控制语句等。
<?php
define('PI',3.1415926);
echo "The value of PI is " . PI; # user dot to cancat
?>
<?php
$t = data("H");
if ($t < "10") {
echo "Have a good moring!";
} elseif ($t < "20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>
<?php
$x = 1;
while($x <= 5) {
echo "Number is : $x <br>";
$x++;
}
// do while
$y = 1;
do {
echo "Number is : $y <br>";
$y++;
} while ($y <= 5); // execute at least once
?>
<?php
// init counter, test counter, increment counter
for($x=0; $x<= 10; $x++) {
echo "The number is : $x <br>";
}
// foreach for arrays, loop key/value pair
$colors = array("red", "green", "blue", "yellow");
foreach($colors as $value) {
echo "$value <br>";
}
?>
<?php
function addNumbers($num1,$num2) {
return $num1 + $num2;
}
echo "3 + 4 = " . addNumbers(3,4);
?>
PHP一个重要的用途就是操作数据库喽,W3schools有教程可以参考。
基本的连接,查询,commit,rollback等语句。
<?php
// connect and check
$conn = mysqli_connect("127.0.0.1","user","passwd","database");
if (mysqli_connect_errno()){ //return last connection error code
echo "Failed to connect: " . mysqli_connect_error(); // return connection error desc
}
// query and commit
mysqli_autocommit($conn,FALSE); // turn off auto commit
mysqli_query($conn,"INSERT INTO Persons (Name, Age) VALUES ('Peter',35)"); // execute query
mysqli_commit($conn); // commit change
// mysqli_rollback($conn); rollback
mysqli_close($conn); // close connection
?>
<?php
/// Perform queries against the database:
mysqli_query($con,"SELECT * FROM Persons");
?>
Fetch array(numeric or associative)
<?php
$sql = "SELECT Name, Age FROM Persons";
$results = mysqli_query($conn,$sql);
// numeric array
$row = mysqli_fetch_array($results,MYSQLI_NUM);
printf ("%s (%s)\n",$row[0],$row[1]);
// associative array
$row = mysqli_fetch_array($results,MYSQL_ASSOC);
printf ("%s (%s)\n",$row["Name"],$row["Age"]);
// free results set
mysqli_free_result($results); mysqli_close($conn);
?>
Associative
<?php
$row = mysqli_fetch_assoc($results);
printf ("%s (%s)\n",$row["Name"],$row["Age"]);
// while loop through
while($row = mysqli_fetch_assoc($results)) {
echo $row['Name'] . ':' . $row['Age'];
}
mysqli_free_result($result); mysqli_close($conn);
?>
<?php
// mysqli_fetch_all
// Fetch all rows and return the result-set as an array
$rows = mysqli_fetch_all($results,MYSQL_ASSOC); // or MYSQL_NUM
foreach($rows as $row) {
echo $row['Name'] . ':' . $row['Age'];
}
?>
<?php
$rowcount = mysqli_num_rows($result); // row count
?>
<?php
$conn = mysqli_connect($db_server, $db_user, $db_passwd, $db_name);
$sql = "SELECT name FROM artist ORDER BY listeners DESC";
$rst = mysqli_query($conn, $sql);
?>
用<?= ?>
把PHP变量值输出到HTML中。
<div class="list-group">
<?php foreach(mysqli_fetch_all($rst,MYSQL_ASSOC) as $row): ?>
<a href="#"> <?= $row['name']? > </a> // use <?= ?> to retrive value from var
<?php endforeach ?>
</div>
<?php
$sql = "SELECT name, url FROM artist WHERE name=\"{$_GET['artist']}\""; // get string
$sql = "SELECT name, url FROM artist WHERE id={$_GET['id']}"; // get number
?>
<?php
// use ?var=data get method
<a href='page.php?var=data'>Data link</a>;
// retrive data
echo $_GET['var'];
?>
从提交的表单中提取信息。
<?php echo $_POST["name"]; ?>
<?php echo $_GET["email"]; ?>