tabel geeft geen data terug.
Vraagje :
Ik heb in m'n zoekpagina.php twee textfields en één list-menu om data uit m'n db op te vragen. In coldfusion werkt dit perfect, maar bij gebruik van PHP niet...en ik denk nogthans dat de fout bij m'n sql-statement moet liggen want hij geeft geen foutmelding of parse-error maar geeft gewoon geen waarde terug in m'n resultaatpagina.php...
sql :
SELECT JOB, NAME, HOBBY
FROM tutorial
WHERE JOB = 'colname' AND NAME like '%#naam#%' AND HOBBY like '%#hobby#%'
De gereturnde waarden zijn dus JOB, HOBBY en NAME
m'n textfields noemen dus ' naam ' en ' hobby ' en m'n list-menu heeft de naam die dreamweaver er zelf heeft aan gegeven.
Kan iemand helpen ?
thanx !
En hoe ziet de php-code er uit om deze query te maken?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$colname_vinden = "-1";
if (isset($_POST['select'])) {
$colname_vinden = (get_magic_quotes_gpc()) ? $_POST['select'] : addslashes($_POST['select']);
}
mysql_select_db($database_tutorial, $tutorial);
$query_vinden = sprintf("SELECT JOB, NAME, HOBBY FROM tutorial WHERE JOB = '%s' AND NAME like '%%#naam#%%' AND HOBBY like '%%#hobby#%%'", $colname_vinden);
$vinden = mysql_query($query_vinden, $tutorial) or die(mysql_error());
$row_vinden = mysql_fetch_assoc($vinden);
$totalRows_vinden = mysql_num_rows($vinden);
?>
$colname_vinden = "-1";
if (isset($_POST['select'])) {
$colname_vinden = (get_magic_quotes_gpc()) ? $_POST['select'] : addslashes($_POST['select']);
}
mysql_select_db($database_tutorial, $tutorial);
$query_vinden = sprintf("SELECT JOB, NAME, HOBBY FROM tutorial WHERE JOB = '%s' AND NAME like '%%#naam#%%' AND HOBBY like '%%#hobby#%%'", $colname_vinden);
$vinden = mysql_query($query_vinden, $tutorial) or die(mysql_error());
$row_vinden = mysql_fetch_assoc($vinden);
$totalRows_vinden = mysql_num_rows($vinden);
?>
echo $query_vinden;
SELECT JOB, NAME, HOBBY FROM tutorial WHERE JOB = 'student' AND NAME like '%#naam#%' AND HOBBY like '%#hobby#%'
...wil dit zeggen dat m'n twee sql-statements verkeerd zijn ?
Ik weet niet of dat de bedoeling is.
moeten die #'s weg zodat enkel %naam% en %hobby% er staan ?
Zo zou hij moeten werken inderdaad. Waarom gebruik je hoofdletters voor tabellen en kolommen (JOB, NAME, HOBBY) en niet voor de SQL taal zelf (like)? :P
Edit:
Hij zoekt nu overigens op naam en hobby (en varianten daarvan, zoals 'naamval', 'hobbyist', 'voornaam' of 'achternaam'), maar ik neem aan dat je dat niet wilt. Dus je zou van naam en hobby dan variabelen moeten maken uiteraard.:
En daar dan wat omheen bouwen ;)
Code (php)
1
$sql = "SELECT job, name, hobby FROM tutorial WHERE job = 'student' AND name LIKE '%" . $naam . "%' AND hobby LIKE '%" . $hobby. "%'";
En daar dan wat omheen bouwen ;)
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith