Unix Technical Forum

"i have gone crazy mfing crazy i have gone crazy"

This is a discussion on "i have gone crazy mfing crazy i have gone crazy" within the MySQL forums, part of the Database Server Software category; --> the database looks like this the database is called username_tpp (not really just using username as a sub) the ...


Go Back   Unix Technical Forum > Database Server Software > MySQL

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-28-2008, 08:36 AM
kkddrpg@gmail.com
 
Posts: n/a
Default "i have gone crazy mfing crazy i have gone crazy"

the database looks like this

the database is called
username_tpp (not really just using username as a sub)
the table is called
home
it has
field 1 : varchar(50) | latin1_swedish_ci | no attributes | null = no |
default = (nothing) | extra = (nothing) | action = primary key |
comments = h

field 2 : text | latin1_swedish_ci | no attributes | null = no |
default = (nothing) | extra = (nothing) | action = text | comments = b

all i am trying to achive is to have someone post what they want to
appear on their website on this page as in the header and the body of
their site (i will do xhtml formating to make it look nicer if the
script ever works)

<?php // update_site.php
// This script adds a entry to the database.

// Address error handling.
ini_set ('display_errors', 1);
error_reporting (E_ALL & ~E_NOTICE);

if (isset ($_POST['submit'])) { // Handle the form.

// Connect and select.
if ($dbc = @mysql_connect ('localhost', username', password)) {

if (!@mysql_select_db ('username_tpp')) {
die ('<p>Could not select the database because:
<b>' . mysql_error()
.. '</b></p>');
}

} else {
die ('<p>Could not connect to MySQL because: <b>' .
mysql_error() .
'</b></p>');
}

// Define the query.
$query = "INSERT INTO home (1) VALUE ('{$_POST['header']}')";
"INSERT
INTO home (2) VALUE '{$_POST['body']}'";

// Execute the query.
if (@mysql_query ($query)) {
print '<p>The blog entry has been added.</p>';
} else {
print "<p>Could not add the entry because: <b>" .
mysql_error() .
"</b>. The query was $query.</p>";
}

mysql_close();

}

// Display the form.
?>
<form action="update_site.php" method="post">
<p>Page Header: <input type="text" name="header" size="40"
maxsize="100" /></p>
<p>Page Body :&nbsp;&nbsp;
<textarea name="body" cols="40" rows="5"></textarea></p>
<input type="submit" name="submit" value="Update My Website" />
</form>

i get this error...

Could not add the entry because: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the
right syntax to use near '1) VALUE ('hello')' at line 1. The query was
INSERT INTO home (1) VALUE ('hello').

then i have another script that is not working
either which is:

this is the script for their home page that retirves the data that this
one posts into the table.

<?php // index.php
// This script retrieves header and body text from the database.

// Address error handing.
ini_set ('display_errors', 1);
error_reporting (E_ALL & ~E_NOTICE);

// Connect and select.
if ($dbc = @mysql_connect ('localhost', 'username', 'password')) {

if (!@mysql_select_db ('username_tpp')) {
die ('<p>Could select the database because: <b>' .
mysql_error() .
'</b></p>');
}

} else {

die ('<p>Could not connect to MySQL because: <b>' .
mysql_error() .
'</b></p>');

}

// Define the query.
$query = 'SELECT * FROM home';

if ($r = mysql_query ($query)) { // Run the query.

>>>>this is not in the actual script but im sure this is where im going wrong<<<<<<


// Retrieve and print every record.
while ($row = mysql_fetch_array ($r)) {
print "<p><h3>{$row['1']}</h3>
{$row['2']}<br />
</p><hr />\n";
}

} else { // Query didn't run.

die ('<p>Could create the table because: <b>' . mysql_error() .
"</b>.
The query was $query.</p>");

} // End of query IF.

mysql_close(); // Close the database connection.
?>

could you please help me ive been debugging for days now and my head is
going to explode

-thank you, philip (kirewire.com, leetmachines.com, pealtech.com,
leetbargains.com)

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 02-28-2008, 08:36 AM
Jerry Stuckle
 
Posts: n/a
Default Re: "i have gone crazy mfing crazy i have gone crazy"

kkddrpg@gmail.com wrote:
> the database looks like this
>

<lots of code snipped>
>
> -thank you, philip (kirewire.com, leetmachines.com, pealtech.com,
> leetbargains.com)
>


Are your columns actually named '1' and '2'? These aren't normal column
names - normally you name them something descriptive, like 'name', or
'firstname', etc. In fact, these are invalid names according to the SQL
standard, although you might coax MySQL to accept them.

What does the actual CREATE TABLE statement you used look like?

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 02-28-2008, 08:36 AM
strawberry
 
Posts: n/a
Default Re: "i have gone crazy mfing crazy i have gone crazy"


Jerry Stuckle wrote:
> kkddrpg@gmail.com wrote:
> > the database looks like this
> >

> <lots of code snipped>
> >
> > -thank you, philip (kirewire.com, leetmachines.com, pealtech.com,
> > leetbargains.com)
> >

>
> Are your columns actually named '1' and '2'? These aren't normal column
> names - normally you name them something descriptive, like 'name', or
> 'firstname', etc. In fact, these are invalid names according to the SQL
> standard, although you might coax MySQL to accept them.
>
> What does the actual CREATE TABLE statement you used look like?
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> jstucklex@attglobal.net
> ==================


Is 'value' valid sql?. I thought you had to use 'values' regardless of
how much data you're inserting

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 02-28-2008, 08:36 AM
Jerry Stuckle
 
Posts: n/a
Default Re: "i have gone crazy mfing crazy i have gone crazy"

strawberry wrote:
> Jerry Stuckle wrote:
>
>>kkddrpg@gmail.com wrote:
>>
>>>the database looks like this
>>>

>>
>><lots of code snipped>
>>
>>>-thank you, philip (kirewire.com, leetmachines.com, pealtech.com,
>>>leetbargains.com)
>>>

>>
>>Are your columns actually named '1' and '2'? These aren't normal column
>>names - normally you name them something descriptive, like 'name', or
>>'firstname', etc. In fact, these are invalid names according to the SQL
>>standard, although you might coax MySQL to accept them.
>>
>>What does the actual CREATE TABLE statement you used look like?
>>
>>--
>>==================
>>Remove the "x" from my email address
>>Jerry Stuckle
>>JDS Computer Training Corp.
>>jstucklex@attglobal.net
>>==================

>
>
> Is 'value' valid sql?. I thought you had to use 'values' regardless of
> how much data you're inserting
>


Good eye - I missed that one completely! You are totally, 100% and
beyond any doubt at all, correct! :-)

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 02-28-2008, 08:36 AM
so many sites so little time
 
Posts: n/a
Default Re: "i have gone crazy mfing crazy i have gone crazy"

its from a books supporting website that code i got rid of the create
table part i described exactly how the data base is i made the database
in phpmyadmin
Jerry Stuckle wrote:
> strawberry wrote:
> > Jerry Stuckle wrote:
> >
> >>kkddrpg@gmail.com wrote:
> >>
> >>>the database looks like this
> >>>
> >>
> >><lots of code snipped>
> >>
> >>>-thank you, philip (kirewire.com, leetmachines.com, pealtech.com,
> >>>leetbargains.com)
> >>>
> >>
> >>Are your columns actually named '1' and '2'? These aren't normal column
> >>names - normally you name them something descriptive, like 'name', or
> >>'firstname', etc. In fact, these are invalid names according to the SQL
> >>standard, although you might coax MySQL to accept them.
> >>
> >>What does the actual CREATE TABLE statement you used look like?
> >>
> >>--
> >>==================
> >>Remove the "x" from my email address
> >>Jerry Stuckle
> >>JDS Computer Training Corp.
> >>jstucklex@attglobal.net
> >>==================

> >
> >
> > Is 'value' valid sql?. I thought you had to use 'values' regardless of
> > how much data you're inserting
> >

>
> Good eye - I missed that one completely! You are totally, 100% and
> beyond any doubt at all, correct! :-)
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> jstucklex@attglobal.net
> ==================


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 02-28-2008, 08:36 AM
so many sites so little time
 
Posts: n/a
Default Re: "i have gone crazy mfing crazy i have gone crazy"

what i am trying to say here is

// Define the query.
$query = "INSERT INTO home (1) VALUE ('{$_POST['header']}')";
"INSERT
INTO home (2) VALUE '{$_POST['body']}'";

the name of the table is home
and that table whas two fields 1 and 2 and field 1 is a varchar 50 for
the header and field to is text for the body of my site and 'header'
and 'body' are the values im useing b/c those are the names of the
fields in the form

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 02-28-2008, 08:36 AM
Axel Schwenke
 
Posts: n/a
Default Re: "i have gone crazy mfing crazy i have gone crazy"

"so many sites so little time" <kkddrpg@gmail.com> wrote:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This ain't cool. Please use your real name here.

> what i am trying to say here is
>
> // Define the query.
> $query = "INSERT INTO home (1) VALUE ('{$_POST['header']}')";
> "INSERT
> INTO home (2) VALUE '{$_POST['body']}'";
>
> the name of the table is home
> and that table whas two fields 1 and 2 and field 1 is a varchar 50 for
> the header and field to is text for the body of my site and 'header'
> and 'body' are the values im useing b/c those are the names of the
> fields in the form


1. this is invalid PHP: you assign the first string literal to $query
but the second is just standing there. Don't you get a PHP syntax
error here? I didn't look into PHP for a long time, but the curly
braces around $_POST[foo] look suspicious. It's much better style
to create the query string with sprintf().

2. this is invalid SQL: INSERT INTO table [(columns)] VALUES (values)
~~~
3. this is a strange schema. Did you call the columns of table `home`
`1` and `2`? Really? Bad thing!

4. if you have two columns `1` and `2`, you should insert values into
both columns at once. Otherwise you will get two totally unrelated
records in table `home`.

5. this opens the door for SQL injection. You must NEVER use GET/POST
variables without escaping them correctly.


XL
--
Axel Schwenke, Senior Software Developer, MySQL AB

Online User Manual: http://dev.mysql.com/doc/refman/5.0/en/
MySQL User Forums: http://forums.mysql.com/
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 07:19 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com