plotselinge foutmelding in lang draaiend script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter Arendse

Peter Arendse

28/04/2014 20:15:44
Quote Anchor link
Allen,

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)
PHP script in nieuw venster Selecteer het PHP script
1
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);


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
 
PHP hulp

PHP hulp

26/04/2024 06:50:07
 
Ozzie PHP

Ozzie PHP

28/04/2014 20:22:55
Quote Anchor link
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.

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.
 
Peter Arendse

Peter Arendse

28/04/2014 20:36:19
Quote Anchor link
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?
 
Ivo P

Ivo P

28/04/2014 20:49:44
Quote Anchor link
Die functie is al heel lang geleden (php 4.0.6) vervangen door mysql_query().
 
Frank Nietbelangrijk

Frank Nietbelangrijk

28/04/2014 20:55:02
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>
Gewijzigd op 28/04/2014 20:56:12 door Frank Nietbelangrijk
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

28/04/2014 20:57:45
Quote Anchor link
Als iemand hier kant en klare code vraagt, is het antwoord meestal (ongeacht zijn/haar leeftijd) hetzelfde:
Quote:
Het is hier geen afhaal balie.


PS.
Ik ben bijna net zo oud als jou.
 
Peter Arendse

Peter Arendse

28/04/2014 21:02:01
Quote Anchor link
Hoi Frank,

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)
PHP script in nieuw venster Selecteer het PHP script
1
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);
Gewijzigd op 28/04/2014 21:05:37 door Peter Arendse
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

28/04/2014 21:04:01
Quote Anchor link
Je bent een ; vergeten op regel 2 (35)
 
Peter Arendse

Peter Arendse

28/04/2014 21:11:00
Quote Anchor link
Ik snap de opmerking van kant en klare oplossing wel, maar de site heet niet voor niets php hulp, toch?
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);
?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

28/04/2014 21:12:57
Quote Anchor link
regel 4 en 5 (althans hier) even omdraaien.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

28/04/2014 21:13:00
Quote Anchor link
>> PS. Jij bent zeker geen taxichauffeur ;-}
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
 
Frank Nietbelangrijk

Frank Nietbelangrijk

28/04/2014 21:14:07
Quote Anchor link
ah Ger je hebt gelijk maar het is maar zo een kleinigheid toch?
 
Peter Arendse

Peter Arendse

28/04/2014 21:23:21
Quote Anchor link
Jullie zullen nu wel boos worden, maar ik krijg nog steeds dezelfde melding: No database selected

Ik heb gedaan wat jullie zeiden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);
?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

28/04/2014 21:28:24
Quote Anchor link
wat staat er in db_werk.php ?
op welke regel wordt de foutmelding gegeven?
Gewijzigd op 28/04/2014 21:29:21 door Frank Nietbelangrijk
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

28/04/2014 21:30:38
Quote Anchor link
Boos worden doen we zomaar niet.
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.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

28/04/2014 21:33:03
Quote Anchor link
regel 15 en 16 kunnen er dus uit.
 
Peter Arendse

Peter Arendse

28/04/2014 21:35:18
Quote Anchor link
In db_werk staat:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$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
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

28/04/2014 21:51:51
Quote Anchor link
Ook zonder kant en klare code komen we er ;-)
 
Frank Nietbelangrijk

Frank Nietbelangrijk

28/04/2014 21:54:05
Quote Anchor link
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.
 
Obelix Idefix

Obelix Idefix

29/04/2014 09:14:45
Quote Anchor link
Wil de pret niet bederven, maar mysql is ondertussen toch ook deprecated?!
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.
 
Ivo P

Ivo P

29/04/2014 11:56:30
Quote Anchor link
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.