<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php
//$q=$_GET["q"];
class product{
private $con ;
function __construct(){
$this->con = mysql_connect('localhost', 'root', 'root');
if (!$this->con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("appcan", $this->con);
}
function query(){
$sql="SELECT * FROM product WHERE 1=1";
$result = mysql_query($sql) or die('數據失敗!'.mysql_error());;
echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
<th>json 數據</th>
</tr>";
echo json_encode(mysql_num_fields($result));
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['top'] . "</td>";
echo "<td>" . $row['title'] . "</td>";
echo "<td>" . $row['summary'] . "</td>";
echo "<td>" . $row['type'] . "</td>";
echo "<td>" . json_encode($row). "</td>";
echo "</tr>";
}
echo "</table>";
}
function insert($str){
$result = mysql_query($str) or die('數據插入失敗!'.mysql_error());
}
function close(){
mysql_close($this->con);
}
}
//以下爲直接執行內容。做了一個小判斷利用超全局的變量$_GET 獲得operate 判斷進行簡單路由。
//header 中文編碼處理。 此處可以看出。這是一個全局的函數因爲是(), 而$_GET 是一個數組 []
$p = $_GET["operate"];
$pro = new product();
if($p=='list'){
header("Content-Type: text/html; charset=gbk");
$pro->query();
}else if($p=='insert'){
$pro->insert("insert into product values('4','upload/b.png','文章','文章內容','3km','4')");
}else{
}
$pro->close();
?>
上面有與數據庫的操作, 還是和java差不多, 比java少一些,沒有加載驅動什麼的。直接連接數據庫,也沒有statement語句操作。用con對象,操作就ok、
返回json也比較簡單,沒有什麼jsonArray 什麼的。直接json_encode(目標)但是也少一些功能,弱類型的簡單行,java這種強類型沒辦法。