mysql_fetch_array(): probleem
Ik heb een probleempje denk dat het niet veel is maar zie de fout niet.
alles werkt aan het script maar hij geeft 1 fout aan.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home op regel 61
$entries = mysql_query($Select);
61 $entry = mysql_fetch_array($entries);
if($entry[0] < 1)
{
if($text != "")
{
Query zal mislukt zijn.
en hoe krijg ik dat voor elkaar ?
Zie de vele tutorials.
Onder andere op www.phptuts.nl
Edit: Het meest simpele:
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
$sql = "SELECT bla FROM bla";
$result = mysql_query($sql);
if($result)
{
// Ga verder
echo 'Gelukt';
}
else
{
trigger_error('Error in query "' . $sql . '"');
}
?>
$sql = "SELECT bla FROM bla";
$result = mysql_query($sql);
if($result)
{
// Ga verder
echo 'Gelukt';
}
else
{
trigger_error('Error in query "' . $sql . '"');
}
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
heb het verandert in $entry = @mysql_fetch_array($entries);
en het is weg nu.
Maar heb nog een probleem
het is een agenda script maar haalt nu alles uit het engels binnen dus day month yaer .
Kan dat ook niet veranderen in het script denk ik
moet ik dan iets veranderen of zo dat hij alles in het nederlands binnen haald ?
peetje schreef op 13.08.2009 20:47:
dankje
heb het verandert in $entry = @mysql_fetch_array($entries);
en het is weg nu.
heb het verandert in $entry = @mysql_fetch_array($entries);
en het is weg nu.
Dat komt door die @ voor de functienaam, maar zo leer je natuurlijk niet netjes programmeren. Zo onderdruk je alleen de foutmeldingen.
peetje schreef op 13.08.2009 20:47:
heb het verandert in $entry = @mysql_fetch_array($entries);
Dit is geen oplossing maar je hoofd in het zand stoppen.
Los eerst je probleem op en dan gaan we weer verder.
Kan het een beetje begrijpen maar dat is het dan ook wel.
Mijn voorbeeldje is al een hele stap naar de oplossing.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
if ($res = mysql_query ($sql)) {
while ($row = mysql_fetch_assoc ($res)) {
echo '<pre>' . print_r ($row, true) . '</pre>';
}
}
else {
trigger_error (mysql_error ());
echo '<pre>' . print_r (htmlentities ($sql), true) . '</pre>';
}
?>
if ($res = mysql_query ($sql)) {
while ($row = mysql_fetch_assoc ($res)) {
echo '<pre>' . print_r ($row, true) . '</pre>';
}
}
else {
trigger_error (mysql_error ());
echo '<pre>' . print_r (htmlentities ($sql), true) . '</pre>';
}
?>
Quote:
Klein foutje verbeterd.
SanThe.
SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/ on line 2
Notice: Access denied for user 'apache'@'localhost' (using password: NO) in /home/ on line 8
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/ on line 72
krijg ik dit te zien
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Als ik iets in vul dan gaat het wel de database in
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?
$Host = "localhost";
$User = "xx";
$PassWord = "xx";
$DataBaseName = "xx";
$TableName = "agenda";
mysql_connect($Host, $User, $PassWord);
mysql_select_db($DataBaseName);
//This below will create your table for you if it does not exist.
//Feel free to comment it out once the table is created.
$Tables = mysql_query("show tables like '" . $TableName . "aypbfgzi_agenda'");
if(mysql_fetch_row($Tables) === true)
{
$create = "create table " . $TableName .
"(" .
"id int primary key auto_increment, " .
"text text, " .
"day int, " .
"month int, " .
"year int " .
")";
mysql_query($create);
}
$Entered_UserName = "xx";
$Entered_PassWord = "xx";
if(isset($HTTP_COOKIE_VARS["xx"]) &&
isset($HTTP_COOKIE_VARS["xx"]))
{
$Entered_UserName = $HTTP_COOKIE_VARS["xx"];
$Entered_PassWord = $HTTP_COOKIE_VARS["xx"];
}
$isLogged = true;
if($Entered_UserName != $User || $Entered_PassWord != $PassWord)
$isLogged = true;
//Execute MySQL queries if someone is logged in.
if($isLogged == true)
{
if(param("save") != "")
{
for($week_day = 0; $week_day <= 7; $week_day++)
{
$day = param("day" . $week_day);
$month = param("month" . $week_day);
$year = param("year" . $week_day);
$text = trim(param("text" . $week_day));
$Select = "select count(id) from " . $TableName . " where day = " . $day .
" and month = " . $month .
" and year = " . $year;
$entries = mysql_query($Select);
$entry = mysql_fetch_array($entries); ?>
$Host = "localhost";
$User = "xx";
$PassWord = "xx";
$DataBaseName = "xx";
$TableName = "agenda";
mysql_connect($Host, $User, $PassWord);
mysql_select_db($DataBaseName);
//This below will create your table for you if it does not exist.
//Feel free to comment it out once the table is created.
$Tables = mysql_query("show tables like '" . $TableName . "aypbfgzi_agenda'");
if(mysql_fetch_row($Tables) === true)
{
$create = "create table " . $TableName .
"(" .
"id int primary key auto_increment, " .
"text text, " .
"day int, " .
"month int, " .
"year int " .
")";
mysql_query($create);
}
$Entered_UserName = "xx";
$Entered_PassWord = "xx";
if(isset($HTTP_COOKIE_VARS["xx"]) &&
isset($HTTP_COOKIE_VARS["xx"]))
{
$Entered_UserName = $HTTP_COOKIE_VARS["xx"];
$Entered_PassWord = $HTTP_COOKIE_VARS["xx"];
}
$isLogged = true;
if($Entered_UserName != $User || $Entered_PassWord != $PassWord)
$isLogged = true;
//Execute MySQL queries if someone is logged in.
if($isLogged == true)
{
if(param("save") != "")
{
for($week_day = 0; $week_day <= 7; $week_day++)
{
$day = param("day" . $week_day);
$month = param("month" . $week_day);
$year = param("year" . $week_day);
$text = trim(param("text" . $week_day));
$Select = "select count(id) from " . $TableName . " where day = " . $day .
" and month = " . $month .
" and year = " . $year;
$entries = mysql_query($Select);
$entry = mysql_fetch_array($entries); ?>
Gewijzigd op 01/01/1970 01:00:00 door peetje van emeren
Doe aan foutafhandeling:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
if (!mysql_connect($Host, $User, $PassWord)) {
echo '<p>Fout bij mysql_connect</p>';
}
if (!mysql_select_db($DataBaseName)) {
echo '<p>Fout bij mysql_select_db</p>';
}
?>
if (!mysql_connect($Host, $User, $PassWord)) {
echo '<p>Fout bij mysql_connect</p>';
}
if (!mysql_select_db($DataBaseName)) {
echo '<p>Fout bij mysql_select_db</p>';
}
?>
en als ik dit er nu in zet is het ook weg die fout
maar denk dat het iets met de DB te maken heeft
text mag niet
day mag niet
month mag niet
year mag niet
Die woorden worden intern al gebruikt in MySQL. Verzin andere namen en dan zal het wel werken.
ik heb dat verandert maar het gehele script werkt nu niet meer
peetje schreef op 13.08.2009 22:04:
ik heb dat verandert maar het gehele script werkt nu niet meer
Vervelend voor je, maar wat kunnen wij met deze mededeling? Zet eens
aan het begin van je script en vertel eens wat meer over de errors/meldingen die je krijgt?