Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 4 of 4
  1. #1
    New to the CF scene
    Join Date
    Jun 2014
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Can't connect database with my files

    This is my first post so please correct me if somethings wrong

    Basically im creating a shopping cart with the help of a guide but there is no database written in the guide so i'm not sure how to proceed. My database wont work...
    Guide:
    https://jameshamilto...g-cart-tutorial

    Error message
    http://gyazo.com/a20...b096b7727410dfd

    Index:
    PHP Code:
     <?php session_start(); ?>
       <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
       <html xmlns="http://www.w3.org/1999/xhtml">
       <head>
       <meta name="description" content="PHP Shopping Cart Using Sessions" /> 
       <meta name="keywords" content="shopping cart tutorial, shopping cart, php, sessions" />
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       <link rel="stylesheet" media="all" href="/style/style.css" type="text/css" />
       <title>Cart</title>
      
      
      <?php
          
    //connect to your database here
          
      
      
    $sql 'SELECT * FROM books ORDER BY id';
      
    $output[] = '<ul>';
      
    $output[] = '<li>"'.$row['title'].'" by '.$row['author'].': &pound;'.$row['price'].'<br /><a href="cart.php?action=add&id='.$row['id'].'">Add to cart</a></li>';
      
      
      
    //connect mysql
      
      
    mysql_connect($server$user$pass) or die ("Sorry, can't conect to mysql.");
      
      
    //select db
      
      
    mysql_select_db($db) or die ("Sorry cant select the db.");
      
      
      
    ?>
      
      
      
      </head>
      <body>
      
      
      <?php
      
          $product_id 
    $_GET[id];     //the product id from the URL 
          
    $action     $_GET[action]; //the action from the URL 
      
          //if there is an product_id and that product_id doesn't exist display an error message
          
    if($product_id && !productExists($product_id)) {
              die(
    "Error. Product Doesn't Exist");
          }
      
          switch(
    $action) {    //decide what to do    
          
              
    case "add":
                  
    $_SESSION['cart'][$product_id]++; //add one to the quantity of the product with id $product_id 
              
    break;
              
              case 
    "remove":
                  
    $_SESSION['cart'][$product_id]--; //remove one from the quantity of the product with id $product_id 
                  
    if($_SESSION['cart'][$product_id] == 0) unset($_SESSION['cart'][$product_id]); //if the quantity is zero, remove it completely (using the 'unset' function) - otherwise is will show zero, then -1, -2 etc when the user keeps removing items. 
              
    break;
              
              case 
    "empty":
                  unset(
    $_SESSION['cart']); //unset the whole cart, i.e. empty the cart. 
              
    break;
          
          }
          
      
    ?>
      
      
      <?php    
      
          
    if($_SESSION['cart']) {    //if the cart isn't empty
              //show the cart
              
              
    echo "<table border=\"1\" padding=\"3\" width=\"40%\">";    //format the cart using a HTML table
              
                  //iterate through the cart, the $product_id is the key and $quantity is the value
                  
    foreach($_SESSION['cart'] as $product_id => $quantity) {    
                      
                      
    //get the name, description and price from the database - this will depend on your database implementation.
                      //use sprintf to make sure that $product_id is inserted into the query as a number - to prevent SQL injection
                      
    $sql sprintf("SELECT name, description, price FROM php_shop_products WHERE id = %d;",
                                      
    $product_id); 
                          
                      
    $result mysql_query($sql);
                          
                      
    //Only display the row if there is a product (though there should always be as we have already checked)
                      
    if(mysql_num_rows($result) > 0) {
                      
                          list(
    $name$description$price) = mysql_fetch_row($result);
                      
                          
    $line_cost $price $quantity;        //work out the line cost
                          
    $total $total $line_cost;            //add to the total cost
                      
                          
    echo "<tr>";
                              
    //show this information in table cells
                              
    echo "<td align=\"center\">$name</td>";
                              
    //along with a 'remove' link next to the quantity - which links to this page, but with an action of remove, and the id of the current product
                              
    echo "<td align=\"center\">$quantity <a href=\"$_SERVER[PHP_SELF]?action=remove&id=$product_id\">X</a></td>";
                              echo 
    "<td align=\"center\">$line_cost</td>";
                          
                         echo 
    "</tr>";
                         
                     }
                 
                 }
                 
                 
    //show the total
                 
    echo "<tr>";
                     echo 
    "<td colspan=\"2\" align=\"right\">Total</td>";
                     echo 
    "<td align=\"right\">$total</td>";
                 echo 
    "</tr>";
                 
                 
    //show the empty cart link - which links to this page, but with an action of empty. A simple bit of javascript in the onlick event of the link asks the user for confirmation
                 
    echo "<tr>";
                     echo 
    "<td colspan=\"3\" align=\"right\"><a href=\"$_SERVER[PHP_SELF]?action=empty\" onclick=\"return confirm('Are you sure?');\">Empty Cart</a></td>";
                 echo 
    "</tr>";        
             echo 
    "</table>";
             
             
         
         }else{
             
    //otherwise tell the user they have no items in their cart
             
    echo "You have no items in your shopping cart.";
             
         }
         
         
    //function to check if a product exists
         
    function productExists($product_id) {
                 
    //use sprintf to make sure that $product_id is inserted into the query as a number - to prevent SQL injection
                 
    $sql sprintf("SELECT * FROM php_shop_products WHERE id = %d;",
                                 
    $product_id); 
                     
                 return 
    mysql_num_rows(mysql_query($sql)) > 0;
         }
     
    ?>
     
     <a href="products.php">Continue Shopping</a>
     
     
     <?php
     
     
    /*
     
     products table:
         CREATE TABLE `products` (
             `id` INT NOT NULL AUTO_INCREMENT ,
             `name` VARCHAR( 255 ) NOT NULL ,
             `description` TEXT,
             `price` DOUBLE DEFAULT '0.00' NOT NULL ,
             PRIMARY KEY ( `id` )
         );
     
     */
     
     
    ?>
     
     
     
     </body>
     </html>

    products.php
    PHP Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <meta name="description" content="PHP Shopping Cart Using Sessions" /> 
      <meta name="keywords" content="shopping cart tutorial, shopping cart, php, sessions" />
      <link rel="stylesheet" media="all" href="/style/style.css" type="text/css" />
      <title>Products</title>
      
     <?php
         
    //connect to your database here
             //connect to your database here
         
     
     
    $sql 'SELECT * FROM books ORDER BY id';
     
    $output[] = '<ul>';
     
    $output[] = '<li>"'.$row['title'].'" by '.$row['author'].': &pound;'.$row['price'].'<br /><a href="cart.php?action=add&id='.$row['id'].'">Add to cart</a></li>';
     
     
     
    //connect mysql
     
     
    mysql_connect($server$user$pass) or die ("Sorry, can't conect to mysql.");
     
     
    //select db
     
     
    mysql_select_db($db) or die ("Sorry cant select the db.");
     
    ?>
     
     </head>
     
     <body>
     
     
     <table border="1">
     
         <?php
             
             $sql 
    "SELECT id, name, description, price FROM php_shop_products;";
             
             
    $result mysql_query($sql);
             
             while(list(
    $id$name$description$price) = mysql_fetch_row($result)) {
             
                 echo 
    "<tr>";
                 
                     echo 
    "<td>$name</td>";
                     echo 
    "<td>$description</td>";
                     echo 
    "<td>$price</td>";
                     echo 
    "<td><a href=\"cart.php?action=add&id=$id\">Add To Cart</a></td>";
                 
                 echo 
    "</tr>";
             }
             
         
    ?>
     </table>
     
     
     <a href="cart.php">View Cart</a>
     
     </body>
     </html>

    If someone would be kind enough to provide me with guidance of how to proceed dealing with the DB tables it would be great!

    ty in advance

  • #2
    Master Coder
    Join Date
    Jun 2003
    Location
    Cottage Grove, Minnesota
    Posts
    9,511
    Thanks
    8
    Thanked 1,090 Times in 1,081 Posts
    Here's a good place to start ...

    MySQL Tutorial - Introduction

  • #3
    Regular Coder
    Join Date
    Sep 2011
    Posts
    428
    Thanks
    18
    Thanked 26 Times in 26 Posts
    Just some advice, don't use MySQL, use MySQLi instead. MySQL is deprecated (I believe) and you should use MySQLi instead because it's supported, plus it can do more then what regular MySQL can't.

  • Users who have thanked Dubz for this post:

    Thyrosis (06-12-2014)

  • #4
    Regular Coder
    Join Date
    Nov 2012
    Posts
    115
    Thanks
    7
    Thanked 12 Times in 12 Posts
    Quote Originally Posted by Dubz View Post
    Just some advice, don't use MySQL, use MySQLi instead. MySQL is deprecated (I believe) and you should use MySQLi instead because it's supported, plus it can do more then what regular MySQL can't.
    As of PHP 5.6 MySQL is indeed officially deprecated. But since at least PHP 5.3 it's strongly advised not to use it any more and switch to MySQLi.

    As for the original question: I can't open either of the two links you've posted (formatted wrongly I suppose). But if this is the exact code you are using, it's never going to work.

    PHP Code:
    //connect mysql
     
     
    mysql_connect($server$user$pass) or die ("Sorry, can't conect to mysql."); 
    This uses 3 variables ($server, $user, $pass) to connect to the database, but I don't see them being set anywhere. So either you've removed that line for security reasons for posting it on the forum, or it just doesn't happen.

    But, agreed with Dubz, do NOT use MySQL, use MySQLi instead. Find a simple starting script here: PHP and MySQLi quick tutorial / how to example - PHPhaven.com


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •