plotselinge foutmelding in lang draaiend script
Sinds vele jaren gebruik ik een script en krijg van de 1 op de andere dag een foutmelding zonder ergens aan te hebben gezeten. Kan iemand mij a.u.b. helpen?
De meldingen zijn als volgt:
Deprecated: Function mysql_db_query() is deprecated in /www/htdocs/taxikalf/test/header.html on line 35
Deprecated: mysql_db_query() [function.mysql-db-query]: This function is deprecated; use mysql_query() instead in /www/htdocs/taxikalf/test/header.html on line 35
Deprecated: Function mysql_db_query() is deprecated in /www/htdocs/taxikalf/test/header.html on line 47
Deprecated: mysql_db_query() [function.mysql-db-query]: This function is deprecated; use mysql_query() instead in /www/htdocs/taxikalf/test/header.html on line 47
Hier onder volgt de code van lijn 35 tot 47:
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
$res=mysql_db_query("$db","$sql",$mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
mysql_close($mysql_id);
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
$sql="select*from werk WHERE datum>= (NOW()- INTERVAL 1 HOUR)";
$res=mysql_db_query("$db","$sql",$mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
mysql_close($mysql_id);
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
$sql="select*from werk WHERE datum>= (NOW()- INTERVAL 1 HOUR)";
$res=mysql_db_query("$db","$sql",$mysql_id);
Met vriendelijke groet,
Peter Arendse
Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 28/04/2014 20:17:46 door Peter Arendse
Quote:
Warning
This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
•mysqli_select_db() then the query
•PDO::__construct()
Warning
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
•mysqli_select_db() then the query
•PDO::__construct()
Warning
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
Bron: http://nl1.php.net/mysql_db_query
Blijkbaar is je PHP versie geupgrade door je hoster. Normaal zou je daar bericht van moeten krijgen, om dit soort situaties te voorkomen.
Ik heb het script vele jaren geleden met hulp van mensen op deze site ontwikkeld, ben nu 50 en heb nu al hoofdpijn. Kun je me a.u.b. helpen en de goede code in je commentaar plaatsen?
Die functie is al heel lang geleden (php 4.0.6) vervangen door mysql_query().
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
//Vervang regel 35 en 47 voor het volgende en het werkt weer:
$res = mysql_query($sql, $mysql_id);
//zo niet dan moet je tussen regel 34 en 35 nog even dit plaatsen:
mysql_select_db($db, $mysql_id);
?>
//Vervang regel 35 en 47 voor het volgende en het werkt weer:
$res = mysql_query($sql, $mysql_id);
//zo niet dan moet je tussen regel 34 en 35 nog even dit plaatsen:
mysql_select_db($db, $mysql_id);
?>
Gewijzigd op 28/04/2014 20:56:12 door Frank Nietbelangrijk
Quote:
Het is hier geen afhaal balie.
PS.
Ik ben bijna net zo oud als jou.
Dank je wel, heb gedaan wat je zei, maar krijg nu deze melding:
Parse error: syntax error, unexpected T_VARIABLE in /www/htdocs/taxikalf/test/header.html on line 36
Hieronder de code vanaf regel 34 tot 48 nu:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$sql="select * from werk";
mysql_select_db($db, $mysql_id)
$res = mysql_query($sql, $mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
mysql_close($mysql_id);
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
$sql="select*from werk WHERE datum>= (NOW()- INTERVAL 1 HOUR)";
$res = mysql_query($sql, $mysql_id);
mysql_select_db($db, $mysql_id)
$res = mysql_query($sql, $mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
mysql_close($mysql_id);
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
$sql="select*from werk WHERE datum>= (NOW()- INTERVAL 1 HOUR)";
$res = mysql_query($sql, $mysql_id);
Gewijzigd op 28/04/2014 21:05:37 door Peter Arendse
Je bent een ; vergeten op regel 2 (35)
Mijn beroep is taxichauffeur en ben geen programeur, dus alle hulp is welkom ;-}
IK krijg nu de volgende melding:
No database selected
Ik heb het hele stukje code even geplaatst, misschien is dat beter!
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
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
<?php
include("db_werk.php");
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
$sql="select * from werk";
mysql_select_db($db, $mysql_id);
$res = mysql_query($sql, $mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
mysql_close($mysql_id);
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
$sql="select*from werk WHERE datum>= (NOW()- INTERVAL 1 HOUR)";
$res = mysql_query($sql, $mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
$aantal_lijnen=mysql_num_rows($res);
?>
include("db_werk.php");
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
$sql="select * from werk";
mysql_select_db($db, $mysql_id);
$res = mysql_query($sql, $mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
mysql_close($mysql_id);
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
$sql="select*from werk WHERE datum>= (NOW()- INTERVAL 1 HOUR)";
$res = mysql_query($sql, $mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
$aantal_lijnen=mysql_num_rows($res);
?>
regel 4 en 5 (althans hier) even omdraaien.
Dat klopt, maar ik neem aan dat ik aan jou de weg kan vragen, maar dat als ik wik dat je me daar naar toe brengt ook moet betalen :-P
ah Ger je hebt gelijk maar het is maar zo een kleinigheid toch?
Ik heb gedaan wat jullie zeiden:
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
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
<?php
include("db_werk.php");
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db($db, $mysql_id);
$sql="select * from werk";
$res = mysql_query($sql, $mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
mysql_close($mysql_id);
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
$sql="select*from werk WHERE datum>= (NOW()- INTERVAL 1 HOUR)";
$res = mysql_query($sql, $mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
$aantal_lijnen=mysql_num_rows($res);
?>
include("db_werk.php");
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db($db, $mysql_id);
$sql="select * from werk";
$res = mysql_query($sql, $mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
mysql_close($mysql_id);
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
$sql="select*from werk WHERE datum>= (NOW()- INTERVAL 1 HOUR)";
$res = mysql_query($sql, $mysql_id);
$fout=mysql_errno($mysql_id);
if ($fout != 0) {
$fout=mysql_error($mysql_id);
echo '<font color="#FF2306">' . $fout . '</font>';
mysql_close($mysql_id);
echo '</body></html>';
exit;
}
$aantal_lijnen=mysql_num_rows($res);
?>
op welke regel wordt de foutmelding gegeven?
Gewijzigd op 28/04/2014 21:29:21 door Frank Nietbelangrijk
Op regel 15 sluit je de connectie met de server
Op regel 16 connect je opnieuw zonder databse te selecteren.
Daarna voer je een query uit zonder database.
Binnen één script kan je gewoon een connectie maken, en die blijven gebruiken totdat je alle queries afgewerkt hebt.
regel 15 en 16 kunnen er dus uit.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$dbhost="localhost";
$dbuser="mijn inlog";
$dbpass="mijn wachtwoord";
$db="taxikalf";
?>
$dbhost="localhost";
$dbuser="mijn inlog";
$dbpass="mijn wachtwoord";
$db="taxikalf";
?>
Toevoeging op 28/04/2014 21:38:55:
Het werk weer, zonder foutmelding! Jullie zijn toppers!
Ik zou jullie graag op een biertje tracterern dus als je ooit in Zaandam komt!
Dank jullie wel!
Ow, oorzaak, jullie hulp van code ingevoegd, maar niet ververst en wel geupload, wat een domkop ben ik!
Gewijzigd op 28/04/2014 21:42:06 door Peter Arendse
Ook zonder kant en klare code komen we er ;-)
ik zie op regel 14 een }. is dat het einde van een if statement? dan krijg je denk ik alsnog problemen als de if overgeslagen wordt.
Kans lijkt mij vrij groot dat bij een volgende update weer (fout)meldingen zullen verschijnen.
In die zin is het beheren/maken/onderhouden van een website net als autorijden. Auto's worden moderner, nieuwe snufjes/technieken. Die zul je ook moeten leren. Verkeersregels veranderen, komen nieuwe straten/wijken bij. Kortom: alles verandert voortdurend en daar zul je mee moeten omgaan.
ik denk dat stap 1 is, om het script naar mysql functies van PHP 4+ te brengen, en daarna inderdaad door naar de mysqli versie