Foutmelding na nieuw versie php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Harry H Arends

Harry H Arends

04/07/2017 20:08:24
Quote Anchor link
Mijn provider heeft na jaren wachten de gebruikte php ver geupdate.

Nu krijg ik deze foutmelding:

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/harry-arends.nl/public_html/event/datacon.php on line 16

en op regel 6 staat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$dblink=MYSQL_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword) OR DIE("Couldnotconnecttodatabaseserver:".mysql_error()."<br>");      


Kan iemand mij begrijpelijk uitleggen hpoe ik dit op kan losssen.

Groetjes

Harry H. Arends
Gewijzigd op 04/07/2017 20:34:52 door - Ariën -
 
PHP hulp

PHP hulp

08/12/2019 14:22:07
 
- Ariën -
Beheerder

- Ariën -

04/07/2017 20:35:26
Quote Anchor link
Ik raad aan om over te stappen op de mysqli-functies of PDO. De mysql-functies die je nu gebruikt zullen in PHP7 ter ziele gaan.

Tijdelijke optie is Deprecated meldingen verbergen, met dit bovenaan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
?>
Gewijzigd op 04/07/2017 20:43:39 door - Ariën -
 
Danny von Gaal

Danny von Gaal

04/07/2017 21:56:20
Quote Anchor link
Het wordt al een hele tijd aangeraden om mysqli te gebruiken ipv mysql.

Hier een goed voorbeeld van W3Schools hoe je een query met mysqli uitvoert:
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
<?php
$servername
= "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}


$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
}
else {
    echo "0 results";
}

$conn->close();
?>


Bron
Gewijzigd op 04/07/2017 21:57:16 door Danny von Gaal
 
- Ariën -
Beheerder

- Ariën -

04/07/2017 22:01:49
Quote Anchor link
Ter info: Dit is MySQLi met OO (Object Georiënteerd). Dit is te herkennen aan het pijltje.
Je kan ook de procedurele versie gebruiken van mysqli, en dat is het toevoegen van een 'i' en bij diverse functies een extra argument.

Ikzelf raad de OO-versie aan, omdat deze beter schaalbaar is. Je kan ook centrale foutafhandeling bouwen bijvoorbeeld.
Gewijzigd op 04/07/2017 22:02:05 door - Ariën -
 
Harry H Arends

Harry H Arends

05/07/2017 09:26:10
Quote Anchor link
Bedankt voor het antwoord.
De ene foutmelding opgelost, een andere erbij. Dit is de code om te MySql te connecten:
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
29
30
31
32
33
34
<?php
$MySqlHostname
= "localhost";
$MySqlDatabase = "****";

if($_SERVER['SERVER_NAME']=="eibergen02"){
    $MySqlUsername = "****";
    $MySqlPassword = "****";
    }
else{
    $MySqlUsername = "***";
    $MySqlPassword = "*****";
    }

//echo $MySqlUsername."/".$MySqlPassword."<br>";
/* make connection to database */
/* If no connection made, display error Message */

$dblink=MYSQLI_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword, $MySqlDatabase) OR DIE("Could not connect to database server:".mysql_error()."<br>");      
    
/* Select the database name to be used or else print error message if unsuccessful*/
//@mysql_select_db("$MySqlDatabase") OR DIE ("Could not select database".mysql_error()."<br>");

// General options

$version = "0.82 (beta)";
$maintenance = false;
$ledentabel = "leden";

$result = mysqli_query( "SET NAMES 'utf8'", $MySqlDatabase );
if ( $result === false )
{

    echo '<p>De karakterset voor de verbinding kon niet op UTF-8 worden gezet. Melden aan Administrator</p>';
}

else
{
//    echo '<p>De karakterset voor de verbinding is succesvol op UTF-8 gezet</p>';
}
?>

door een hersenbeschadiging na mijn CVA raak ik snel het overzicht kwijt
En mis ik veel wat voor anderen logisch is.
Gewijzigd op 05/07/2017 14:47:57 door - Ariën -
 
- Ariën -
Beheerder

- Ariën -

05/07/2017 10:12:54
Quote Anchor link
Pas je bericht even aan en gebruik code-tags. PHP tags zijn hier alleen bedoeld om naar de manual te linken.
Gewijzigd op 05/07/2017 10:13:30 door - Ariën -
 
Harry H Arends

Harry H Arends

05/07/2017 10:50:15
Quote Anchor link
Harry H Arends op 05/07/2017 09:26:10:
Bedankt voor het antwoord.
De ene foutmelding opgelost, een andere erbij. Dit is de code om te MySql te connecten:
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
29
30
31
32
33
34
<?php
$MySqlHostname
= "localhost";
$MySqlDatabase = "harryare";

if($_SERVER['SERVER_NAME']=="eibergen02"){
    $MySqlUsername = "root";
    $MySqlPassword = "geheim";
    }
else{
    $MySqlUsername = "geheim";
    $MySqlPassword = "geheim";
    }

//echo $MySqlUsername."/".$MySqlPassword."<br>";
/* make connection to database */
/* If no connection made, display error Message */

$dblink=MYSQLI_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword, $MySqlDatabase) OR DIE("Could not connect to database server:".mysql_error()."<br>");      
    
/* Select the database name to be used or else print error message if unsuccessful*/
//@mysql_select_db("$MySqlDatabase") OR DIE ("Could not select database".mysql_error()."<br>");

// General options

$version = "0.82 (beta)";
$maintenance = false;
$ledentabel = "leden";

$result = mysqli_query( "SET NAMES 'utf8'", $MySqlDatabase );
if ( $result === false )
{

    echo '<p>De karakterset voor de verbinding kon niet op UTF-8 worden gezet. Melden aan Administrator</p>';
}

else
{
//    echo '<p>De karakterset voor de verbinding is succesvol op UTF-8 gezet</p>';
}
?>

door een hersenbeschadiging na mijn CVA raak ik snel het overzicht kwijt
En mis ik veel wat voor anderen logisch is.
Gewijzigd op 05/07/2017 10:51:14 door Harry H Arends
 
- Ariën -
Beheerder

- Ariën -

05/07/2017 10:52:48
Quote Anchor link
Waar loop je nu op vast?
 
Ben van Velzen

Ben van Velzen

05/07/2017 11:12:02
Quote Anchor link
Mogelijk het feit dat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$result
= mysqli_query( "SET NAMES 'utf8'", $MySqlDatabase );
?>

om verschillende redenen niet correct is.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$result
= mysqli_query($dblink, "SET NAMES 'utf8'");
?>

werkt ongetwijfeld beter.
Nog beter zou zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$result
= mysqli_set_charset($dblink, 'utf8');
?>

Dan is de client library ook op de hoogte van je bedoelingen.
 
Harry H Arends

Harry H Arends

05/07/2017 12:01:45
Quote Anchor link
- Ariën - op 05/07/2017 10:52:48:
Waar loop je nu op vast?

Zie deze post:

https://www.phphulp.nl/php/forum/topic/pad-verwijzing-werkt-niet-meer/101346
 
Danny von Gaal

Danny von Gaal

05/07/2017 14:42:42
Quote Anchor link
Hallo Harry,

Pas alsjeblieft je reactie hierboven aan als dat je echte wachtwoord is.
Edit:
Done!
Gewijzigd op 05/07/2017 14:48:47 door - Ariën -
 



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.