Join -> Fetch/ $_get probleem
Al enige tijd maak ik gebruik van deze site en leer hier veel van hoewel ik dit al een tijdje doe zie ik mijzelf nogsteeds als über-beginner :d
Ik heb de volgende code :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
include("config.php");
$sql = 'SELECT * FROM nl_product_brand_associations LEFT JOIN nl_product_model ON ( nl_product_brand_associations.model_id = nl_product_model.model_id )
WHERE merk_id = 1
ORDER BY model_name ASC
';
while($row = mysql_fetch_assoc($sql))
{
echo $row["model_id"]. " - " . $row["model_name"] . "<br/>";
}
?>
include("config.php");
$sql = 'SELECT * FROM nl_product_brand_associations LEFT JOIN nl_product_model ON ( nl_product_brand_associations.model_id = nl_product_model.model_id )
WHERE merk_id = 1
ORDER BY model_name ASC
';
while($row = mysql_fetch_assoc($sql))
{
echo $row["model_id"]. " - " . $row["model_name"] . "<br/>";
}
?>
en krijg de volgende foutmelding:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /public/sites/www.url/test/content/join3.php on line 7
Wat doe ik fout? Waarschijnlijk is het iets kleins, maar ik krijg het niet werkend...
Gewijzigd op 17/07/2010 13:31:00 door Co Vanenwijk
http://www.php.net/mysql_connect
http://www.php.net/mysql_select_db
http://www.php.net/mysql_query
http://www.php.net/mysql_fetch_assoc
.....
http://www.php.net/mysql_close
Je bent vergeten de query uit te voeren.
Ik wil de zoekwaarde uit de URl/ Adresbalk halen.( index?page=home&id=4 ) Ik zat hieraan te denken met de $_get functie.
de code is nu:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
include("config.php");
$id = $_GET['id'];
$sql = 'SELECT * FROM nl_product_brand_associations LEFT JOIN nl_product_model ON ( nl_product_brand_associations.model_id = nl_product_model.model_id )
WHERE merk_id = ".mysql_real_escape_string($_GET['id'])."
ORDER BY model_name ASC
';
$result = mysql_query($sql);
?>
include("config.php");
$id = $_GET['id'];
$sql = 'SELECT * FROM nl_product_brand_associations LEFT JOIN nl_product_model ON ( nl_product_brand_associations.model_id = nl_product_model.model_id )
WHERE merk_id = ".mysql_real_escape_string($_GET['id'])."
ORDER BY model_name ASC
';
$result = mysql_query($sql);
?>
helaas krijg ik de foutcode:
Parse error: syntax error, unexpected T_STRING in /public/sites/test/content/join3.php on line 6
pak ik het nu verkeerd aan? of zijn er betere manieren om te laten zoeken op variabele uit de adresbalk?
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$sql = "SELECT * FROM nl_product_brand_associations LEFT JOIN nl_product_model ON ( nl_product_brand_associations.model_id = nl_product_model.model_id )
WHERE merk_id = '".mysql_real_escape_string($_GET['id'])."'
ORDER BY model_name ASC";
?>
$sql = "SELECT * FROM nl_product_brand_associations LEFT JOIN nl_product_model ON ( nl_product_brand_associations.model_id = nl_product_model.model_id )
WHERE merk_id = '".mysql_real_escape_string($_GET['id'])."'
ORDER BY model_name ASC";
?>
Edit: en mocht het id een integer zijn, gebruik dan ctype_digit() om te controleren of dat daadwerkelijk zo is:
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
<?php
if(isset($_GET['id']) && ctype_digit($_GET['id'])) {
$sql = "
SELECT
...
WHERE id = ".$_GET['id']."
...
";
}
else {
// Geen geldig id
}
?>
if(isset($_GET['id']) && ctype_digit($_GET['id'])) {
$sql = "
SELECT
...
WHERE id = ".$_GET['id']."
...
";
}
else {
// Geen geldig id
}
?>
Gewijzigd op 17/07/2010 13:48:13 door Joren de Wit
Als er een "Buy me a Coffee"-button was had ik hem gebruikt ;)