I get No database selected on line 13 error. And this code line is
$result = $mysqli->query($query) or die($mysqli->error." on line ".__LINE__);
Database connected successfully but when I try to open "question.php" file I get this error.
<?php
// Set question number
$number = (int) $_GET['n'];
/*
* Get Question
*/
$query = "SELECT * FROM questions WHERE questions.question_number = $number";
// Get Result
$result = $mysqli->query($query) or die($mysqli->error." on line ".__LINE__);
$question = $result->fetch_assoc();
/*
* Get Choices
*/
$query = "SELECT * FROM choices WHERE question_number = $number";
// Get Results
$choices = $mysqli->query($query) or die($mysqli->error.__LINE__);
?>
UPDATE!
My database connection:
<?php
// Create connection credentials
$db_host = 'localhost';
$db_name = 'quizzer';
$db_user= 'root';
$db_pass='';
// Create mysqli object
$mysqli = new mysqli($db_host, $db_user,$db_pass,$db_pass);
// Error handler
if($mysqli->connect_error){
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
$mysqli = new mysqli($db_host, $db_user,$db_pass,$db_pass);2 instances of$db_pass?? really??$mysqli = new mysqli($db_host, $db_user,$db_pass,$db_name);perhapsmysqliyou should be using parameterized queries andbind_paramto add user data to your query. DO NOT use string interpolation or concatenation to accomplish this because you have created a severe SQL injection bug. NEVER put$_POSTor$_GETdata directly into a query, it can be very harmful if someone seeks to exploit your mistake. Usingintvalto scrub values is not a general purpose solution.