mysqli couldnt fetch?
Hoi,
database.php:
index.php
Foutmelding:
Wat goes rong?
Toevoeging op 30/07/2011 11:01:29:
Overigens, enkel relevante code, line 134 in de foutmelding is in dit voorbeeld line 5.
database.php:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
function database_connect(&$link)
{
$link = mysqli_connect('localhost', 'chilion_***', '****', 'chilion_***') or die ('Problemen tijdens de connectie met de database<br />');
}
?>
function database_connect(&$link)
{
$link = mysqli_connect('localhost', 'chilion_***', '****', 'chilion_***') or die ('Problemen tijdens de connectie met de database<br />');
}
?>
index.php
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
include_once('inc/database.php');
database_connect($link);
$adverts_row_1 = mysqli_fetch_assoc(mysqli_query($link, 'SELECT content FROM settings WHERE title = "advert_row_1"'));
?>
include_once('inc/database.php');
database_connect($link);
$adverts_row_1 = mysqli_fetch_assoc(mysqli_query($link, 'SELECT content FROM settings WHERE title = "advert_row_1"'));
?>
Foutmelding:
Quote:
Warning: mysqli_query() [function.mysqli-query]: Couldn't fetch mysqli in /home/chilion/domains/chilion.nl/public_html/hak/index.php on line 134
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in /home/chilion/domains/chilion.nl/public_html/hak/index.php on line 134
Warning: mysqli_query() [function.mysqli-query]: Couldn't fetch mysqli in /home/chilion/domains/chilion.nl/public_html/hak/index.php on line 134
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in /home/chilion/domains/chilion.nl/public_html/hak/index.php on line 134
Wat goes rong?
Toevoeging op 30/07/2011 11:01:29:
Overigens, enkel relevante code, line 134 in de foutmelding is in dit voorbeeld line 5.
Gesponsorde koppelingen:
Je kijkt niet of de query succesvol is. Je zou hiervoor error afhandeling moeten gebruiken om tekijken of de query gelukt is. En zo niet, waarom niet.
Dus i.p.v.
zo iets:
Edit:
Ik zag even te kijken naar $link, maar waar haal je die eigelijk vandaan? Want je maakt verbinding in de functie database_connect, en geeft de verbinding de variable $link maar returned niks.
Dus maak van je functie:
en op de plek waar je database_connect aan roept:
verbeter me als ik 't fout heb..
Dus i.p.v.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
include_once('inc/database.php');
database_connect($link);
$adverts_row_1 = mysqli_fetch_assoc(mysqli_query($link, 'SELECT content FROM settings WHERE title = "advert_row_1"'));
?>
include_once('inc/database.php');
database_connect($link);
$adverts_row_1 = mysqli_fetch_assoc(mysqli_query($link, 'SELECT content FROM settings WHERE title = "advert_row_1"'));
?>
zo iets:
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
include_once('inc/database.php');
database_connect($link);
$query = mysqli_query ($link, 'SELECT content FROM settings WHERE title = "advert_row_1"');
if ($query)
$adverts_row_1 = mysqli_fetch_assoc ($query);
else
echo "Query is fout gegaan met error code " . mysqli_error ($link);
?>
include_once('inc/database.php');
database_connect($link);
$query = mysqli_query ($link, 'SELECT content FROM settings WHERE title = "advert_row_1"');
if ($query)
$adverts_row_1 = mysqli_fetch_assoc ($query);
else
echo "Query is fout gegaan met error code " . mysqli_error ($link);
?>
Edit:
Ik zag even te kijken naar $link, maar waar haal je die eigelijk vandaan? Want je maakt verbinding in de functie database_connect, en geeft de verbinding de variable $link maar returned niks.
Dus maak van je functie:
Code (php)
en op de plek waar je database_connect aan roept:
verbeter me als ik 't fout heb..
Gewijzigd op 30/07/2011 11:09:20 door Cake Masher
Les 1: je moet mysql(i) functies niet nesten, fatsoenlijke foutafhandeling is dan onmogelijk!
Dus gaat eens fatsoenlijke foutafhandeling inbouwen en je weet dan wat je fout doet!
Les 2: variabelen die binnen een fucntie gedeclareerd worden zijn alleen binnen die functie beschikbaar!
Les 3: strings in een sql statement dienen gequote te worden met enkele quotes, waardoor je gedwongen wordt het SQL statement zelf te quoten met ""
Les 4: geef variabelen een correcte zinnige naam! Genummerde variabelen zouden niet mogen voorkomen!!
Dus gaat eens fatsoenlijke foutafhandeling inbouwen en je weet dan wat je fout doet!
Les 2: variabelen die binnen een fucntie gedeclareerd worden zijn alleen binnen die functie beschikbaar!
Les 3: strings in een sql statement dienen gequote te worden met enkele quotes, waardoor je gedwongen wordt het SQL statement zelf te quoten met ""
Les 4: geef variabelen een correcte zinnige naam! Genummerde variabelen zouden niet mogen voorkomen!!



