Kan iemand mij helpen om verbinding te maken met de server aan de hand van PDO en een database uitlezen.

Mij config.php

<?php
	// Database info
	$host = 'localhost';
	$user = 'xxxxx';
	$pass = 'xxxxx';
	$database = 'db75076';

	// Make connection
	$conn = new PDO( "mysql:" . "host=$host;" . "dbname=$database", '$user', '$pass');
?>


Mij index.php

<!DOCTYPE html>
<html>
	<head>
		<title></title>
	</head>
	<body>

	<?php
		// Database + connection
		require_once('config.php');
		
		// Check connection
		if (!conn) {
			die('Connection failed: ' . PDO::erroCode());
		}

		// Create query
		$result = "SELECT * FROM Students";

		// Check query
		if (PDO::query($conn, $result)) {
			# code...
		}

		// Insert query into table

		// Close connection
		$conn = null;
	?>
	</body>
</html>


Waar loop je nu op vast?
Variabelen horen buiten quotes.
Probeer zo eens:

<?php

$conn = new PDO("mysql:host=$host;dbname=$database", $user, $pass);

?>
Enne, een constructie met een try-catch blok is min of meer verplicht, omdat PDO (meestal) werkt met exceptions.

Een niet-gevangen exception levert altijd een Fatal Error op.

En laat de exception bij het connecten nu alle connectie-info uitspugen wanneer deze mislukt...

En vergeet je character encoding niet.
Nog een aanvullende tip: zet nooit connectie info hard in je code. De manier waarop Laravel het doet, met .env bestanden, is al een stuk veiliger.
Jan Koehoorn op 31/12/2017 10:00:57

Nog een aanvullende tip: zet nooit connectie info hard in je code. De manier waarop Laravel het doet, met .env bestanden, is al een stuk veiliger.


Heb er van gehoord maar weet niet precies hoe het werkt. Dus een config file met daarin mijn credentials is verkeerd?
Nee...
Wat jij doet is je connectie in je config-bestand laden. En dat is niet echt de juiste bedoeling.
De config is bedoeld voor configuratie-instellingen, en jij doet meer dan dat in dat bestand. ;-)

Het beste is zelfs als je jouw config hoger dan jouw publieke map van je website zet. Mocht je server opeens geen PHP-meer willen parsen door een fout, dan liggen je codes niet zomaar op straat.
Oh oke dan weet ik dat, heb het zo via school aangeleerd en sommige code snippets zie je het ook zo vandaar.

Reageren