Probleempje na checken of $ bestaat in mysql
Ik ben nu al enige tijd bezig met het volgende:
Ik wil kijken of een bepaald artikel al voorkomt in de mysql tabel.
Als dit zo is dan moet er een boodschap getoond worden met "produkt komt voor"verander naam.
Als dit niet zo is dan moeten de variabelen die gepost zijn getoond worden (zijn wat gegevens en 2 plaatjes).
Dit is mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?
include ("**.php");
mysql_connect("$host","$user","$password");
mysql_select_db("$DBname")or die("Connection error");
$query = "SELECT * FROM tabelnaam WHERE prod_img LIKE \"$geheim\" ORDER BY * LIMIT 1";
$result = mysql_query("$query") or die(mysql_error());
if (!$result) {
?>
include ("**.php");
mysql_connect("$host","$user","$password");
mysql_select_db("$DBname")or die("Connection error");
$query = "SELECT * FROM tabelnaam WHERE prod_img LIKE \"$geheim\" ORDER BY * LIMIT 1";
$result = mysql_query("$query") or die(mysql_error());
if (!$result) {
?>
html met variablen van geposte formulier.
Maar deze manier is dus niet goed.
Kan iemand mij enige aanwijzingen geven over hoe ik de pagina met html kan laten zien indien de query geen resultaat geeft?
BVD
Kees
Gewijzigd op 02/09/2004 19:27:00 door Kees
Dit is niet mogelijk ge zult elke table moeten apart zoeken.
Die eerste twee kunnen bij mijn weten helemaal niet, die laatste misschien (graag verbeteren als ik het weer eens mis heb).
En die \ in de query? Waarom LIMIT?
Probeer he eens zo:
$query = "SELECT * FROM tabelnaam WHERE kolomnaam LIKE '".$geheim."' ORDER BY kolomnaam1 DESC, kolomnaam2 ASC";
En de foutmeilding printen staat op http://is2.php.net/manual/nl/function.mysql-error.php
Elwin
Quote:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
mysql_connect("$host","$user","$password");
mysql_select_db("$DBname")or die("Connection error");
$query = "SELECT * FROM * WHERE * LIKE \"$geheim\" ORDER BY * LIMIT 1";
$result = mysql_query("$query") or die(mysql_error());
?>
mysql_connect("$host","$user","$password");
mysql_select_db("$DBname")or die("Connection error");
$query = "SELECT * FROM * WHERE * LIKE \"$geheim\" ORDER BY * LIMIT 1";
$result = mysql_query("$query") or die(mysql_error());
?>
*beep*
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
mysql_connect($host,$user,$password);
mysql_select_db($DBname)or die("Connection error");
$query = "SELECT * FROM je_tabel WHERE artikelnaam LIKE " . $geheim . " ORDER BY artikelnaam LIMIT 1";
$result = mysql_query($query) or die(mysql_error());
?>
mysql_connect($host,$user,$password);
mysql_select_db($DBname)or die("Connection error");
$query = "SELECT * FROM je_tabel WHERE artikelnaam LIKE " . $geheim . " ORDER BY artikelnaam LIMIT 1";
$result = mysql_query($query) or die(mysql_error());
?>
Zoiets gok ik... Gebruik je niet net wat té veel wildcards? :)
Edit:
Ik was te laat ;)
Gewijzigd op 02/09/2004 17:50:00 door Alfred -
de * staan voor variabelen, behalve dan die select * from dan..
Het is me inmiddels wel gelukt en ik zal later vanavond ff de code posten waarmee zoiets dus WEL lukt.
In ieder geval bedankt voor jullie hulp.
Kees
Kben beginner in php/mysql.. en moet me nog verdiepen in beveiliging van de bestanden.
$connection= mysql_connect("$host","$user","$password");
mysql_select_db("$DBname")or die("Connection error");
$QueryString= "SELECT prod_naamlang FROM produkten WHERE prod_naamlang LIKE \"$produktnaamlang\" ORDER BY prod_naamlang LIMIT 1";
$result = mysql_query("SELECT count(*) FROM users WHERE prod_naamlang LIKE \"$produktnaamlang\" ORDER BY prod_naamlang");
$ResultSet = mysql_query($QueryString,$connection) or die("Query Failed:" . mysql_error());
$ResultCount = mysql_num_rows($ResultSet);
if ($ResultCount > 0){
?>
stuk html
Heeft iemand nog een goede/begrijpelijke tutorial in NL over gebruik van sessions in PHP?