RE: [PHP] Inserting into multiple tables
| From: | Tommy Pham | Date: | Sun, 11 Apr 2010 06:18:59 +0000 |
| Subject: | RE: [PHP] Inserting into multiple tables | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-303983@lists.php.net to get a copy of this message | ||
Hi Gary,
> -----Original Message-----
> From: Gary [mailto:gwpaul@ptd.net]
> Sent: Saturday, April 10, 2010 2:28 PM
> To: php-general@lists.php.net
> Subject: [PHP] Inserting into multiple tables
>
> I am experimenting with multiple tables, it is only a test that is my
> local
> machine only. This is the current code, which does not work , I have
> tried
> to concatonate the insert statements. I have tried multiple $query
> variables, but it is just overwriting itself (only the last one gets
> inserted). I also tried writing the $query as an array, which got me an
> error message (saying it was expecting a string and I offered an
> array).
>
> Someone point me in the right direction?
>
> Gary
>
> <!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" />
> <title>Untitled Document</title>
> </head>
>
> <body>
>
> <form action="<?php echo $_SERVER['PHP_SELF'];?>"
> method="post">
>
> <label>First Name </label> <input name="fname" type="text"
> /><br /><br
> />
> <label>Last Name </label><input name="lname" type="text"
> /><br /><br />
> <label>Street Address </label><input name="street"
> type="text" /><br
> /><br
> />
> <label>Town </label><input name="town" type="text"
> /><br /><br />
> <label>State </label><input name="state" type="text"
> /><br /><br />
> <label>Zip Code</label><input name="zip" type="text"
> /><br /><br />
> <label>Telephone</label><input name="phone" type="text"
> /><br /><br />
> <label>Fax</label><input name="fax" type="text" /><br
> /><br />
> <label>E-Mail</label><input name="email" type="text"
> /><br /><br />
> <label>Comments</label><br /><textarea name="comments"
> cols="100"
> rows="15"></textarea><br /><br />
>
> <input name="submit" type="submit" value="submit" />
> </form>
>
> <?php
>
> $fname=($_POST['fname']);
> $lname=($_POST['lname']);
> $street=($_POST['street']);
> $town=($_POST['town']);
> $state=($_POST['state']);
> $zip=($_POST['zip']);
> $phone=($_POST['phone']);
> $fax=($_POST['fax']);
> $email=($_POST['email']);
> $comments=($_POST['comments']);
> $REMOTE_ADDR=$_SERVER['REMOTE_ADDR'];
>
> $dbc=mysqli_connect('localhost','root','','test');
> $query="INSERT INTO address (street, town, state,
>
> zip)"."VALUES('$street','$town','$state','$zip')".
> "INSERT INTO comments(comments)"."VALUES('$comments')".
> "INSERT INTO
>
> contact(phone,fax,email)"."VALUES('$phone','$fax','$email')".
> "INSERT INTO name (fname,
> lname)"."VALUES('$fname','$lname')";
>
> $result = mysqli_query($dbc, $query)
> or die('Error querying database.');
>
I see 2 problems:
1) your sql statements are not separated by semicolon <- very important when executing multiquery
2) you could try mysql_multi_query http://www.php.net/manual/en/mysqli.multi-query.php
Regards,
Tommy
> mysqli_close($dbc);
>
> ?>
> </body>
> </html>
>
>
>
> __________ Information from ESET Smart Security, version of virus
> signature database 5016 (20100410) __________
>
> The message was checked by ESET Smart Security.
>
> http://www.eset.com
>
>
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php