形成此代码......
session_start();
$page = "index.php";
mysql_connect('localhost','root','') or die (mysql_error());
mysql_select_db('shopping cart') or die (mysql_error());
function products(){
$get = mysql_query('SELECT id, product_name, price FROM products ORDER BY id DESC');
if (mysql_num_rows($get) == 0 ){
echo "There are no products to display";
}
else {
//grabs associated array from products
//mysql_fetch_assoc , turn results into an array
while($get_row = mysql_fetch_assoc($get)){
echo '<p>'. $get_row['product_name'] . '<br/>'. $get_row['price'].
'<a href="cart.php?add='.$get_row['id'].'">Add</p>';
}
}
请告诉我这些是做什么的?
答案 0 :(得分:1)
开始新会话或恢复现有会话
根据通过GET或POST请求传递的会话标识符创建会话或恢复当前会话,或通过cookie传递。
获取结果中的行数
从结果集中检索行数。此命令仅对返回实际结果集的SELECT或SHOW等语句有效。要检索受INSERT,UPDATE,REPLACE或DELETE查询影响的行数,请使用
mysql_affected_rows()
。
获取结果行作为关联数组
返回与获取的行对应的关联数组,并将内部数据指针向前移动。
mysql_fetch_assoc()
相当于使用MYSQL_ASSOC为可选的第二个参数调用mysql_fetch_array()
。它只返回一个关联数组。
关联数组具有“键”和“值”,而非关联数组在某个位置只有“值”。这是一个关联数组:
$test = array(
'name' => "John Doe",
'age' => 42
);
您可以像这样访问数组的各个元素:
echo "Name: ", $test['name'], " Age: ", $test['age'];
非关联数组不具有name
和age
键;只是“索引号”:
$test = array("John Doe", 42);
echo "Name: ", $test[0], " Age: ", $test[1];
“向前移动数据指针”基本上只意味着同一行数据不会被提取两次。 MySQL驱动程序会将该行标记为已处理,因此下一次调用mysql_fetch_assoc()
将返回下一行。
如果没有其他数据需要提取,mysql_fetch_assoc()
将返回false
,while(...) {...}
循环将退出。
<强> $page = "index.php";
强>:
这只是将变量设置为字符串"index.php"
;这没什么特别的。您必须查看代码中使用$page
的位置。