Wat gaat er fout?

<?
$sql1 = "SELECT LAST_INSERT_ID(id+1) AS `id` FROM ss_advertenties WHERE gebruikersnaam = ".$_SESSION['gebruikersnaam'];
if ($qry1 = mysql_query($sql1)) {
while ($rij1 = mysql_fetch_assoc($qry1)) {

$_SESSION['advertentie'] = $rij1['id'];

}}


?>
Okee, foutmelding opgelost. Ik krijg nu de volgende ID uit de tabel! TOP

Nu alleen nog de voorwaarde, bij het toevoegen van deze krijg ik weer de mysql_fetch_object foutmelding

<?
$sql = mysql_query("SELECT `id` FROM `ss_advertenties` WHERE `gebruiker` = $_SESSION[gebruiker] ORDER BY id desc LIMIT 1");
$rij = mysql_fetch_object($sql);
$idnew = $rij->id + 1;
?>
Maak een stukje foutafhandeling en kijk eens naar sql-injection.
$_SESSION[gebruiker moet dat niet $_SESSION['gebruiker'] zijn ?

Wat bedoel je met voorwaarde ?
Mensen mensen waar is de foutafhandeling?


<?php
// Sessie starten
session_start();

// Query uitvoeren
$sql = mysql_query('SELECT id FROM tabel LIMIT 1');

// Als query gelukt is
if($sql)
{
	// Als er items zijn
	if(mysql_num_rows($sql) > 0)
	{
		// $var rec aanmaken
		$rec = mysql_fetch_assoc($sql);
		
		// Sessie neergooien
		$_SESSION['blaat'] = $rec['id'];
	}
	// Anders
	else
	{
		// Fout
		echo 'Geen id...';
	}
}
// Anders
else
{
	// MySql error
	echo 'Fout <br />';
	echo mysql_error();
}
?>
WHERE = de voorwaarde

<?
$sql = mysql_query("SELECT `id` FROM `ss_advertenties` WHERE gebruiker = ".$_SESSION['gebruiker']." ORDER BY id desc LIMIT 1") or die(mysql_error());
$rij = mysql_fetch_object($sql);
$idnew = $rij->id + 1;
?>

Geeft:
Unknown column 'dannykater' in 'where clause'

Terwijl, dannykater ($_SESSION['gebruiker']) helemaal geen kolom is maar de waarde die een kolom moet bevatten :s
ruud van dijk schreef op 28.01.2010 22:56
$_SESSION[gebruiker moet dat niet $_SESSION['gebruiker'] zijn ?

Wat bedoel je met voorwaarde ?


of mysql_real_escape_string($_SESSION['gebruiker']) ....

EDIT:
Milo was eerder,.....
way2go!!!
WHERE 'gebruiker' = '".$_SESSION['gebruiker']."'


Quotes om de waarde want het is geen getal (integer) maar een string

EDIT:

mysql_real_escape_string gebruik ik zelf ook allemaal wel en foutafhandeling maar denk geef ff aan hoe je de id op kunt vragen maar jullie hebben volkomen gelijk :P
Onderstaande is het geworden, werkt perfect. Nu alleen nog even aan die foutafhandeling werken!

<?
$sql = mysql_query("SELECT `id` FROM `ss_advertenties` WHERE gebruiker = '".$_SESSION['gebruiker']."' ORDER BY id desc LIMIT 1") or die(mysql_error());
$rij = mysql_fetch_object($sql);
$idnew = $rij->id + 1;


$_SESSION['advertentie'] = $idnew;
?>
eventueel je veldnaam gebruiker nog even quoten ;)
Klinkt trouwens niet goed als je per gebruiker het hoogste nummer bij gaat houden, klinkt zelfs helemaal niet goed. KLinkt eerder slecht

Reageren