can some1 check wots wrong with this script?

Questions about the MySQL, PostgreSQL, and most other databases, as well as using it with PHP can be asked here.

Moderator: General Moderators

Biglines
Forum Newbie
Posts: 9
Joined: Sun May 05, 2002 1:56 am

can some1 check wots wrong with this script?

Post by Biglines »

Code: Select all

<?
if ( $title == "" )
&#123;
$dbconn = mysql_connect("localhost", "*****", "*****");
$result = mysql_select_db("ringtones", $dbconn);

$sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ($title, 

$naameee, $email, $nokcode, $nokcomp, $nokkey)"; 
mysql_query($sql); 
?>
Data has been sent
<?
&#125;
else
&#123;
?>

<form method="post" action="db.php">title
<input type="text" name="title">name
<input type="text" name="name">email
<input type="text" name="email">code
<input type="text" name="nokcode">comp
<input type="text" name="nokcomp">key
<input type="text" name="nokkey">
<input type="submit" name="submit">
<?
&#125;
?>
User avatar
mikeq
Forum Regular
Posts: 512
Joined: Fri May 03, 2002 3:33 am
Location: Edinburgh, Scotland

Post by mikeq »

You don't say what error you get, but I'm guessing no records get inserted, correct?

Any fields which are expected to be characters must be enclosed in single quotes '

so if $title, $naameee and $email are expected to be strings then:

$sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ('$title', '$naameee', '$email', $nokcode, $nokcomp, $nokkey)";

Mike
Biglines
Forum Newbie
Posts: 9
Joined: Sun May 05, 2002 1:56 am

Post by Biglines »

tnx
Biglines
Forum Newbie
Posts: 9
Joined: Sun May 05, 2002 1:56 am

Post by Biglines »

also needed to change the == into !=, cuz otherwise it always sents empty strings :(
Biglines
Forum Newbie
Posts: 9
Joined: Sun May 05, 2002 1:56 am

Post by Biglines »

<span style='color:blue' title='I&#39;m naughty, are you naughty?'>smurf</span> still doesnt work
Biglines
Forum Newbie
Posts: 9
Joined: Sun May 05, 2002 1:56 am

Post by Biglines »

i changed it to this:

Code: Select all

<?
if ( $title != "" )
&#123;
$title = "d";
$naameee = "d";
$email = "d";
$nokcode = "d";
$nokcomp = "d";
$nokkey = "d";
$dbconn = mysql_connect("localhost", "***", "***");
$result = mysql_select_db("ringtones", $dbconn);

$sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ('$title', '$naameee', '$email', '$nokcode', '$nokcomp', '$nokkey')"; 
mysql_query($sql); 
?>
Data has been sent
<?
&#125;
else
&#123;
?>

<form method="post" action="db.php">title
<input type="text" name="title">name
<input type="text" name="name">email
<input type="text" name="email">code
<input type="text" name="nokcode">comp
<input type="text" name="nokcomp">key
<input type="text" name="nokkey">
<input type="submit" name="submit">
<?
&#125;
?>
but nothing is in database


example is:
http://www.biglines.nl/db.php

source is:
http://www.biglines.nl/db.phps
leenoble_uk
Forum Contributor
Posts: 108
Joined: Fri May 03, 2002 10:33 am
Location: Cheshire
Contact:

Post by leenoble_uk »

Code: Select all

<?
if ( $title != "" )
&#123;
$dbconn = mysql_connect("localhost", "*****", "*****");
$result = mysql_select_db("ringtones", $dbconn);

$sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ('$title', '$name', '$email', '$nokcode', '$nokcomp', '$nokkey')";  //added quotes around values & $naamee didn't match the field names.
mysql_query($sql, $dbconn); // added $dbconn to mysql_query
?>
Data has been sent
<?
&#125;
else
&#123;
?>

<form method="post" action="db.php">
title<input type="text" name="title">
name<input type="text" name="name">
email<input type="text" name="email">
code<input type="text" name="nokcode">
comp<input type="text" name="nokcomp">
key<input type="text" name="nokkey">
<input type="submit" name="submit">
</form> <!-- added /form tag -->
<?
&#125;
?>
I hope that's all there is.
jason
Site Admin
Posts: 1767
Joined: Thu Apr 18, 2002 3:14 pm
Location: Montreal, CA
Contact:

Post by jason »

Biglines wrote:$sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ('$title', '$naameee', '$email', '$nokcode', '$nokcomp', '$nokkey')";
mysql_query($sql);
?>
Data has been sent
<?
}
else
{
?>
Two things I want you to do. Use $_POST['title'], $_POST['naameee'], and the rest of them, instead of $title, $naameee, etc.

Also, add this line right have you do mysql_query();

Code: Select all

echo mysql_error();
Biglines
Forum Newbie
Posts: 9
Joined: Sun May 05, 2002 1:56 am

Post by Biglines »

now i did this:

Code: Select all

<?
if ( $title != "" )
&#123;
$dbconn = mysql_connect("localhost", "***", "***");
$result = mysql_select_db("ringtones", $dbconn);

$sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ($_POST&#1111;'title'], $_POST&#1111;'name'], $_POST&#1111;'email'], $_POST&#1111;'nokcode'], $_POST&#1111;'nokcomp'], $_POST&#1111;'nokkey'])"; 
mysql_query($sql);
echo mysql_error();
?>
Data has been sent
<?
&#125;
else
&#123;
?>

<form method="post" action="db.php">title
<input type="text" name="title">name
<input type="text" name="name">email
<input type="text" name="email">code
<input type="text" name="nokcode">comp
<input type="text" name="nokcomp">key
<input type="text" name="nokkey">
<input type="submit" name="submit">
<?
&#125;
?>

and i get this error:

Code: Select all

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /usr/local/psa/home/vhosts/biglines.nl/httpdocs/db.php on line 7
jason
Site Admin
Posts: 1767
Joined: Thu Apr 18, 2002 3:14 pm
Location: Montreal, CA
Contact:

Post by jason »

Biglines: Why not and do some error checking. The error is a very simple error.

Code: Select all

$sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ($_POST&#1111;'title'], $_POST&#1111;'name'], $_POST&#1111;'email'], $_POST&#1111;'nokcode'], $_POST&#1111;'nokcomp'], $_POST&#1111;'nokkey'])";
That is where the error is.

Use this:

Code: Select all

$sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ($_POST&#1111;title], $_POST&#1111;name], $_POST&#1111;email], $_POST&#1111;nokcode], $_POST&#1111;nokcomp], $_POST&#1111;nokkey])";
User avatar
sam
Forum Contributor
Posts: 217
Joined: Thu Apr 18, 2002 11:11 pm
Location: Northern California
Contact:

Post by sam »

Code: Select all

$sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ($_POST&#1111;title], $_POST&#1111;name], $_POST&#1111;email], $_POST&#1111;nokcode], $_POST&#1111;nokcomp], $_POST&#1111;nokkey])";
Should give you warnings "undefined constants will assume subset... blah" so you need to quote those subsets:

Code: Select all

$sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ('".$_POST&#1111;"title"]."','". $_POST&#1111;"name"]."','". $_POST&#1111;"email"]."','". $_POST&#1111;"nokcode"]."','". $_POST&#1111;"nokcomp"]."','". $_POST&#1111;"nokkey"]."')";
Should work now...

Cheers Sam
User avatar
rowdy
Forum Newbie
Posts: 1
Joined: Sun May 05, 2002 11:42 am
Location: Blierick, wao anders!?
Contact:

Jes, prutser... :p

Post by rowdy »

Hey Jes,

Een van de eerste dingen die je moet doen is leren je code goed te structureren. Dan is alles veel makkelijker. maar dat is maar een tip...

Om te beginnen... Een van je grote fouten is:

Code: Select all

$dbconn = mysql_connect("localhost", "*****", "*****"); 
$result = mysql_select_db("ringtones", $dbconn);
Wat doe je hier? Een databaseconnectie in een variabele proppen. Daarna ga je een database selecteren. Bij het selecteren maak je die databaseverbinding aan, en stop je de selectieprocedure weer in een variabele. En vervolgens doe je niets meer met die variabele!

Dus alles wat je op databasegebied probeert te doen geeft errors. Hieronder je code die zou moeten werken, maarre, controleer je database zelf even, en controleer hem de volgende dingen:
  • De tabelnaam (Hoofdlettergevoelig!!)*
  • De tabelvelden zelf (Hoofdlettergevoelig!!)*
  • De soorten van de tabelvelden niet dat je een string in een int probeert te stampen; dat lukt nie... :) Gebruik bijvoorbeeld om te testen eens gewoon voor alles de soort 'TEXT'.
* Als dit niet helemaal klopt krijg je allemaal hele wazige en onduidelijke fouten die je niet thuis kunt brengen...

Code: Select all

<? 
if(!$title){ 
    mysql_connect("localhost", "*****", "*****"); 
    mysql_select_db("ringtones"); 

   $sql  = " INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey)";
   $sql .= "VALUES ('$title', '$naameee', '$email', '$nokcode', '$nokcomp', '$nokkey')"; 
   result = mysql_query( $sql ); 

   if($result){
      echo "Data sent... ";
   }

} 
else{ 
  
?> 

<form method="post" action="db.php">title 
<input type="text" name="title">name 
<input type="text" name="name">email 
<input type="text" name="email">code 
<input type="text" name="nokcode">comp 
<input type="text" name="nokcomp">key 
<input type="text" name="nokkey"> 
<input type="submit" name="submit"> 

<? 
} 
?>
Biglines
Forum Newbie
Posts: 9
Joined: Sun May 05, 2002 1:56 am

Post by Biglines »

Code:

$sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ($_POST[title], $_POST[name], $_POST[email], $_POST[nokcode], $_POST[nokcomp], $_POST[nokkey])";


Should give you warnings "undefined constants will assume subset... blah" so you need to quote those subsets:
Code:

$sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ('".$_POST["title"]."','". $_POST["name"]."','". $_POST["email"]."','". $_POST["nokcode"]."','". $_POST["nokcomp"]."','". $_POST["nokkey"]."')";


Should work now...

Cheers Sam
i get this error:

Code: Select all

No Database Selected Data has been sent
Biglines
Forum Newbie
Posts: 9
Joined: Sun May 05, 2002 1:56 am

Post by Biglines »

new php code, still not working, why????

Code: Select all

<?
if ( $title != "" )
  &#123;
      $dbconn = mysql_connect("localhost", "****", "****");
      $result = mysql_select_db("ringtones", $dbconn);

      $sql="INSERT INTO ringtones (title, name, email, nokcode, nokcomp, nokkey) VALUES ('".$_POST&#1111;"title"]."','". $_POST&#1111;"name"]."','". $_POST&#1111;"email"]."','". $_POST&#1111;"nokcode"]."','". $_POST&#1111;"nokcomp"]."','". $_POST&#1111;"nokkey"]."')"; 
      mysql_query($sql);

      echo mysql_error();
?>

Data has been sent

<?

  &#125;
else
  &#123;

?>


<form method="post" action="db.php">title
<input type="text" name="title">name
<input type="text" name="name">email
<input type="text" name="email">code
<input type="text" name="nokcode">comp
<input type="text" name="nokcomp">key
<input type="text" name="nokkey">
<input type="submit" name="submit">


<?
  &#125;
?>
Biglines
Forum Newbie
Posts: 9
Joined: Sun May 05, 2002 1:56 am

Post by Biglines »

can some1 help me???
Post Reply