php homework help

Discussion in 'PHP' started by ruckus09, Mar 31, 2012.

  1. #1
    hey so I have been stuck on this assignment for a few hours now and I am at my wits end. I am trying to post new records to my database but for some reason everytime I click the submit button I get the error message. :mad:

    [TABLE="class: xdebug-error"]
    [TR]
    [TH="bgcolor: #f57900, colspan: 5, align: left"] Notice: Undefined variable: mysqli in C:\wamp\www\******\*******\viewrecord.php on line 20[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #e9b96e, colspan: 5, align: left"]Call Stack[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #eeeeec, align: center"]#[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Time[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Memory[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Function[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Location[/TH]
    [/TR]
    [TR]
    [TD="bgcolor: #eeeeec, align: center"]1[/TD]
    [TD="bgcolor: #eeeeec, align: center"]0.0009[/TD]
    [TD="bgcolor: #eeeeec, align: right"]377248[/TD]
    [TD="bgcolor: #eeeeec"]{main}( )[/TD]
    [TD="bgcolor: #eeeeec"]..\viewrecord.php:0[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: xdebug-error"]
    [TR]
    [TH="bgcolor: #f57900, colspan: 5, align: left"]( ! ) Fatal error: Call to a member function query() on a non-object in C:\wamp\www\******\*******\viewrecord.php on line 20[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #e9b96e, colspan: 5, align: left"]Call Stack[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #eeeeec, align: center"]#[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Time[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Memory[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Function[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Location[/TH]
    [/TR]
    [TR]
    [TD="bgcolor: #eeeeec, align: center"]1[/TD]
    [TD="bgcolor: #eeeeec, align: center"]0.0009[/TD]
    [TD="bgcolor: #eeeeec, align: right"]377248[/TD]
    [TD="bgcolor: #eeeeec"]{main}( )[/TD]
    [TD="bgcolor: #eeeeec"]..\viewrecord.php:0[/TD]
    [/TR]
    [/TABLE]

    Here is a copy of my code thanks in advanced for all your help :eek:
    
    <html>
        <head>        <title>Create Record</title>            </head><body><?php
    $action = isset($_POST['action']) ? $_POST['action'] : "";
    
    if($action=='create'){ //the the user submitted the form
    
        //include database connection
    
            $DB_HOST='localHost:*****';
           $DB_USR='****';
           $DB_PWD=****;
           $DB_SCHEMAS='****';
     
    $mysqli->query("INSERT INTO exam1 (UNAME, FNAME, LNAME, GEN, DOB, EMAIL) VALUES (
    '" . mysql_real_escape_string($UNAME) . "',
     '" . mysql_real_escape_string($FNAME) . "',
     '" . mysql_real_escape_string($LNAME) . "',
     '" . mysql_real_escape_string($GEN) . "',
     '" . mysql_real_escape_string($DOB) . "',
     '" . mysql_real_escape_string($EMAIL) . "')");
        //execute the query
        if( $mysqli->query($query) ) {
            //if saving success
            echo "User was created.";    
       }else{
            //if unable to create new record
            echo "Database Error: Unable to create record.";
        }
        //close database connection
        $mysqli->close();
    }
    ?>
    PHP:

     
    Solved! View solution.
    Last edited: Mar 31, 2012
    ruckus09, Mar 31, 2012 IP
  2. Arttu

    Arttu Member

    Messages:
    139
    Likes Received:
    2
    Best Answers:
    8
    Trophy Points:
    40
    #2
    $mysqli = new mysqli(); or whatever is the name the mysql class you're using.
     
    Arttu, Mar 31, 2012 IP
  3. #3
    You have to actually create an instance of the mysqli class ;) Above $mysqli->query, write:

    $mysqli = new mysqli($DB_HOST, $DB_USR, $DB_PWD, $DB_SCHEMAS);
    PHP:
     
    Alex Roxon, Mar 31, 2012 IP
  4. samyak

    samyak Active Member

    Messages:
    280
    Likes Received:
    7
    Best Answers:
    4
    Trophy Points:
    90
    #4
    ya. Create an instance of the $mysqli first.
     
    samyak, Apr 1, 2012 IP
  5. JellyBean Fanatic

    JellyBean Fanatic Peon

    Messages:
    5
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #5
    Hope the solutions above sorted your problem mate. Seems straightforward. If its still not working then check your install. Sometimes debugging apps like Zend Debugger can 'steal' the database wrappers away from apache to route the code through themselves. Any ENV_VAR issues with Zend, and you wont have mysqli automagically available to your code.
     
    JellyBean Fanatic, Apr 1, 2012 IP
  6. ruckus09

    ruckus09 Peon

    Messages:
    4
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #6
    COOL!! it worked however now I get the error
    [TABLE="class: xdebug-error"]
    [TR]
    [TH="bgcolor: #f57900, colspan: 5"]( ! ) Notice: Undefined variable: UNAME in C:\wamp\www******\********\addrecord.php on line 22[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #e9b96e, colspan: 5, align: left"]Call Stack[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #eeeeec, align: center"]#[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Time[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Memory[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Function[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Location[/TH]
    [/TR]
    [TR]
    [TD="bgcolor: #eeeeec, align: center"]1[/TD]
    [TD="bgcolor: #eeeeec, align: center"]0.0020[/TD]
    [TD="bgcolor: #eeeeec, align: right"]378936[/TD]
    [TD="bgcolor: #eeeeec"]{main}( )[/TD]
    [TD="bgcolor: #eeeeec"]..\addrecord.php:0[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: xdebug-error"]
    [TR]
    [TH="bgcolor: #f57900, colspan: 5"]( ! ) Notice: Undefined variable: FNAME in C:\wamp\www\******\********\addrecord.php on line 23[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #e9b96e, colspan: 5, align: left"]Call Stack[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #eeeeec, align: center"]#[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Time[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Memory[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Function[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Location[/TH]
    [/TR]
    [TR]
    [TD="bgcolor: #eeeeec, align: center"]1[/TD]
    [TD="bgcolor: #eeeeec, align: center"]0.0020[/TD]
    [TD="bgcolor: #eeeeec, align: right"]378936[/TD]
    [TD="bgcolor: #eeeeec"]{main}( )[/TD]
    [TD="bgcolor: #eeeeec"]..\addrecord.php:0[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: xdebug-error"]
    [TR]
    [TH="bgcolor: #f57900, colspan: 5"]( ! ) Notice: Undefined variable: LNAME in C:\wamp\www\******\********\addrecord.php on line 24[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #e9b96e, colspan: 5, align: left"]Call Stack[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #eeeeec, align: center"]#[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Time[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Memory[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Function[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Location[/TH]
    [/TR]
    [TR]
    [TD="bgcolor: #eeeeec, align: center"]1[/TD]
    [TD="bgcolor: #eeeeec, align: center"]0.0020[/TD]
    [TD="bgcolor: #eeeeec, align: right"]378936[/TD]
    [TD="bgcolor: #eeeeec"]{main}( )[/TD]
    [TD="bgcolor: #eeeeec"]..\addrecord.php:0[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: xdebug-error"]
    [TR]
    [TH="bgcolor: #f57900, colspan: 5"]( ! ) Notice: Undefined variable: GEN in C:\wamp\www\******\********\addrecord.php on line 25[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #e9b96e, colspan: 5, align: left"]Call Stack[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #eeeeec, align: center"]#[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Time[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Memory[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Function[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Location[/TH]
    [/TR]
    [TR]
    [TD="bgcolor: #eeeeec, align: center"]1[/TD]
    [TD="bgcolor: #eeeeec, align: center"]0.0020[/TD]
    [TD="bgcolor: #eeeeec, align: right"]378936[/TD]
    [TD="bgcolor: #eeeeec"]{main}( )[/TD]
    [TD="bgcolor: #eeeeec"]..\addrecord.php:0[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: xdebug-error"]
    [TR]
    [TH="bgcolor: #f57900, colspan: 5"]( ! ) Notice: Undefined variable: DOB in C:\wamp\www\******\********\addrecord.php on line 26[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #e9b96e, colspan: 5, align: left"]Call Stack[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #eeeeec, align: center"]#[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Time[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Memory[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Function[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Location[/TH]
    [/TR]
    [TR]
    [TD="bgcolor: #eeeeec, align: center"]1[/TD]
    [TD="bgcolor: #eeeeec, align: center"]0.0020[/TD]
    [TD="bgcolor: #eeeeec, align: right"]378936[/TD]
    [TD="bgcolor: #eeeeec"]{main}( )[/TD]
    [TD="bgcolor: #eeeeec"]..\addrecord.php:0[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: xdebug-error"]
    [TR]
    [TH="bgcolor: #f57900, colspan: 5"]( ! ) Notice: Undefined variable: EMAIL in C:\wamp\www\******\********addrecord.php on line 27[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #e9b96e, colspan: 5, align: left"]Call Stack[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #eeeeec, align: center"]#[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Time[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Memory[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Function[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Location[/TH]
    [/TR]
    [TR]
    [TD="bgcolor: #eeeeec, align: center"]1[/TD]
    [TD="bgcolor: #eeeeec, align: center"]0.0020[/TD]
    [TD="bgcolor: #eeeeec, align: right"]378936[/TD]
    [TD="bgcolor: #eeeeec"]{main}( )[/TD]
    [TD="bgcolor: #eeeeec"]..\addrecord.php:0[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: xdebug-error"]
    [TR]
    [TH="bgcolor: #f57900, colspan: 5"]( ! ) Notice: Undefined variable: PASSWORD in C:\wamp\www\******\********\addrecord.php on line 28[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #e9b96e, colspan: 5, align: left"]Call Stack[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #eeeeec, align: center"]#[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Time[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Memory[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Function[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Location[/TH]
    [/TR]
    [TR]
    [TD="bgcolor: #eeeeec, align: center"]1[/TD]
    [TD="bgcolor: #eeeeec, align: center"]0.0020[/TD]
    [TD="bgcolor: #eeeeec, align: right"]378936[/TD]
    [TD="bgcolor: #eeeeec"]{main}( )[/TD]
    [TD="bgcolor: #eeeeec"]..\addrecord.php:0[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: xdebug-error"]
    [TR]
    [TH="bgcolor: #f57900, colspan: 5"]( ! ) Notice: Undefined variable: query in C:\wamp\www\******\********\addrecord.php on line 30[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #e9b96e, colspan: 5, align: left"]Call Stack[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #eeeeec, align: center"]#[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Time[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Memory[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Function[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Location[/TH]
    [/TR]
    [TR]
    [TD="bgcolor: #eeeeec, align: center"]1[/TD]
    [TD="bgcolor: #eeeeec, align: center"]0.0020[/TD]
    [TD="bgcolor: #eeeeec, align: right"]378936[/TD]
    [TD="bgcolor: #eeeeec"]{main}( )[/TD]
    [TD="bgcolor: #eeeeec"]..\addrecord.php:0[/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: xdebug-error"]
    [TR]
    [TH="bgcolor: #f57900, colspan: 5"]( ! ) Warning: mysqli::query() [mysqli.query]: Empty query in C:\wamp\www\******\********\addrecord.php on line 30[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #e9b96e, colspan: 5, align: left"]Call Stack[/TH]
    [/TR]
    [TR]
    [TH="bgcolor: #eeeeec, align: center"]#[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Time[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Memory[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Function[/TH]
    [TH="bgcolor: #eeeeec, align: left"]Location[/TH]
    [/TR]
    [TR]
    [TD="bgcolor: #eeeeec, align: center"]1[/TD]
    [TD="bgcolor: #eeeeec, align: center"]0.0020[/TD]
    [TD="bgcolor: #eeeeec, align: right"]378936[/TD]
    [TD="bgcolor: #eeeeec"]{main}( )[/TD]
    [TD="bgcolor: #eeeeec"]..\addrecord.php:0[/TD]
    [/TR]
    [TR]
    [TD="bgcolor: #eeeeec, align: center"]2[/TD]
    [TD="bgcolor: #eeeeec, align: center"]0.0214[/TD]
    [TD="bgcolor: #eeeeec, align: right"]392608[/TD]
    [TD="bgcolor: #eeeeec"]mysqli->query( )[/TD]
    [TD="bgcolor: #eeeeec"]..\addrecord.php:30[/TD]
    [/TR]
    [/TABLE]
    Database Error: Unable to create record.
    Now I think that it may be because I am not using the same names as in my database... but IDK.
    
    $mysqli = new mysqli($DB_HOST, $DB_USR, $DB_PWD, $DB_SCHEMAS);                 
    $mysqli->query("INSERT INTO exam1 (UNAME, FNAME, LNAME, GEN, DOB, EMAIL) 
    VALUES (
    '" . mysql_real_escape_string($NAME) . "', 
    '" . mysql_real_escape_string($FNAME) . "', 
    '" . mysql_real_escape_string($LNAME) . "', 
    '" . mysql_real_escape_string($GEN) . "', 
    '" . mysql_real_escape_string($DOB) . "', 
    '" . mysql_real_escape_string($EMAIL) . "', 
    '" . mysql_real_escape_string($PASSWORD) . "')");
        //execute the query
        if( $mysqli->query($query) ) {
            //if saving success
            echo "User was created.";
        }else{
            //if unable to create new record
            echo "Database Error: Unable to create record.";
        }
        //close database connection
        $mysqli->close();
    }
    ?>
    PHP:
     
    Last edited: Apr 2, 2012
    ruckus09, Apr 2, 2012 IP
  7. JellyBean Fanatic

    JellyBean Fanatic Peon

    Messages:
    5
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #7
    Do this:
    echo "INSERT INTO exam1 (UNAME, FNAME, LNAME, GEN, DOB, EMAIL) 
    VALUES (
    '" . mysql_real_escape_string($NAME) . "', 
    '" . mysql_real_escape_string($FNAME) . "', 
    '" . mysql_real_escape_string($LNAME) . "', 
    '" . mysql_real_escape_string($GEN) . "', 
    '" . mysql_real_escape_string($DOB) . "', 
    '" . mysql_real_escape_string($EMAIL) . "', 
    '" . mysql_real_escape_string($PASSWORD) . "')";
    PHP:
    Then run that query in your database to get the error. Perhaps they should not be uppercase. (provide the error to us here)
     
    JellyBean Fanatic, Apr 3, 2012 IP
  8. JellyBean Fanatic

    JellyBean Fanatic Peon

    Messages:
    5
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #8
    Actually, its because you are trying to insert 7 values in to 6 fields. Change it to
    UNAME, FNAME, LNAME, GEN, DOB, EMAIL, PASSWORD
     
    JellyBean Fanatic, Apr 3, 2012 IP