需要解释php语法

时间:2016-06-04 09:27:54

标签: php mysql

形成此代码......

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>';
    }
}

请告诉我这些是做什么的?

  1. 在session_start();
  2. $ page =“index.php”;
  3. mysql_num_rows($ get)
  4. mysql_fetch_assoc($ get)

1 个答案:

答案 0 :(得分:1)

session_start()

  

开始新会话或恢复现有会话

     

根据通过GET或POST请求传递的会话标识符创建会话或恢复当前会话,或通过cookie传递。

mysql_num_rows()

  

获取结果中的行数

     

从结果集中检索行数。此命令仅对返回实际结果集的SELECT或SHOW等语句有效。要检索受INSERT,UPDATE,REPLACE或DELETE查询影响的行数,请使用mysql_affected_rows()

mysql_fetch_assoc()

  

获取结果行作为关联数组

     

返回与获取的行对应的关联数组,并将内部数据指针向前移动。 mysql_fetch_assoc()相当于使用MYSQL_ASSOC为可选的第二个参数调用mysql_fetch_array()。它只返回一个关联数组。

关联数组具有“键”和“值”,而非关联数组在某个位置只有“值”。这是一个关联数组:

$test = array(
    'name' => "John Doe",
    'age' => 42
);

您可以像这样访问数组的各个元素:

echo "Name: ", $test['name'], " Age: ", $test['age'];

非关联数组不具有nameage键;只是“索引号”:

$test = array("John Doe", 42);

echo "Name: ", $test[0], " Age: ", $test[1];

“向前移动数据指针”基本上只意味着同一行数据不会被提取两次。 MySQL驱动程序会将该行标记为已处理,因此下一次调用mysql_fetch_assoc()将返回下一行。

如果没有其他数据需要提取,mysql_fetch_assoc()将返回falsewhile(...) {...}循环将退出。

<强> $page = "index.php";

这只是将变量设置为字符串"index.php";这没什么特别的。您必须查看代码中使用$page的位置。