Hallo,

Ik wil iets testen via c:\xamp

1) Ik heb een ontwerp terug gevonden waarbij men verbinding maakt met de DB via connect.php
<?php

mysql_connect("localhost", "root", "") or die (mysql_error());
mysql_select_db("sponsorgroephageland") or die (mysql_error());

?>

Doch dit werkt niet

2)met onderstaande kan ik verbinding maken met de db waarom lukt dat niet met het bovenstaande?
<?php
$db = new PDO('mysql:host=localhost;dbname=sponsorgroephageland', 'root', '');
?>

=> dus ik wil met onderstaande settings de settings laten werken onder punt 1. Volgens mij staat dit toch goed?

Kan iemand mij helpen hiermee?

Thx

mvg,
Geert B
Hallo,

Via onderstaande kan ik connectie maken
<?php
$servername = "localhost";
$username = "root";
$password = "";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

Maar ik moet uiteraard verbinding maken met geert geef ik dit dan in localhost:\geert?
Hierna krijg ik een error in line 8

Ik ben een leek en zou graag dit terug werkende krijgen

Thx

mvg,
Geert B
Je moet uiteindelijk wel een database opgeven. Zie de quickstart waar Adoptive Solution naar linkte, anders kan je nog vrij weinig.
Hi Ariën,

Idd mijn kennis is te klein om dit "verouderd" php'tje werkende te krijgen
Login werkt nu maar wanneer ik inlog krijg ik volgende fouten
Fatal error: Uncaught ArgumentCountError: mysqli_query() expects at least 2 arguments, 1 given in /customers/8/9/e/sponsorgroep3provincies.be/httpd.www/hagelandrace/login.php:15 Stack trace: #0 /customers/8/9/e/sponsorgroep3provincies.be/httpd.www/hagelandrace/login.php(15): mysqli_query('SELECT `kbdb` F...') #1 /customers/8/9/e/sponsorgroep3provincies.be/httpd.www/hagelandrace/index.php(73): require_once('/customers/8/9/...') #2 {main} thrown in /customers/8/9/e/sponsorgroep3provincies.be/httpd.www/hagelandrace/login.php on line 15

Ik heb dan in login.php mysql al vervangen door mysqli maar blijft de fout op line 15 zitten, jammer maar is niet op 1-2-3 te fixen vrees ik wa dus niet enkel een probleem van connectie met de db te maken

<?php

$kbdb = "";

if (isset($_POST['submit-login'])) {

$login_membership = $_POST['membership'];

if (empty($login_membership)) {
echo '<div class="error"><span>Vul uw KBDB lidnummer in.</span></div>';
}

else {

$account_result = mysqli_query("SELECT `kbdb` FROM user WHERE kbdb='$login_membership'") or die (mysqli_error());

while($account_result_row = mysqli_fetch_array( $account_result )) {
$kbdb = $account_result_row['kbdb'];
}

if (!empty($kbdb)) {

$_SESSION['membership'] = $kbdb;
header('Location: user/');
exit();

}

else {
echo '<div class="error"><span>Er is geen account gevonden met het KBDB lidnummer <strong>'. $login_membership. '</strong>.</span></div>';
}

}

}

?>
Klopt, mysqli_query verlangt ook een tweede parameter voor de verbinding.
<?php
$account_result = mysqli_query($conn, "SELECT `kbdb` FROM user WHERE kbdb='$login_membership'") or die (mysqli_error());
?>

Ik raad persoonlijk aan om óf de functies óf object-georiënteerd óf procedureel te gebruiken.
Procedureel is met PHP-functions:
mysqli_query($conn, "SELECT... FROM.. etc...");

Object-georiënteerd is met objecten, herkenbaar aan pijlen:
$result = $mysqli->query("SELECT... FROM.. etc...");

Zie ook: https://www.php.net/mysqli_query

Ikzelf gebruik de object-georiënteerde versie omdat je die, als je wat gevorderd bent, uit kan breiden.
Je kan ze ook mixxen, maar omdat de opbouw van de functies en de objecten anders is, kan het verwarrend zijn.

Daarnaast raad ik aan om je ook te wapenen tegen SQL-injection. $_POST['membership'] is niet beveiligd, en ieder kan nu eenvoudig je query manipuleren om bijvoorbeeld je data te stelen.
Zie ook: [php]mysqli_real_escape_string[/php]

Reageren