Ecco un modello di MySQL in PHP:versione mysqli del modello mysql
$username="username";
$password="password";
$database="username-databaseName";
// Opens a connection to a mySQL server
$connection=mysql_connect (localhost, $username, $password);
if (!$connection) {
die("Not connected : " . mysql_error());
}
// Set the active mySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die ("Can\'t use db : " . mysql_error());
}
// Search the rows in the markers table
$query = some query
$result = mysql_query($query);
Ho provato a sostituire la maggior parte di esso con un modello mysqli e poi attaccare la parte di query in fondo in questo modo:
//Database Information
$db_host = "localhost"; //Host address (most likely localhost)
$db_name = "username-databaseName"; //Name of Database
$db_user = "username"; //Name of database user
$db_pass = "password"; //Password for database user
/* Create a new mysqli object with database connection parameters */
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);
GLOBAL $mysqli;
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
// Search the rows in the markers table
$query = some query
$result = mysql_query($query);
Tuttavia, ricevo questo messaggio di errore:
Invalid query: No database selected
che cosa sto facendo di sbagliato?
Hai ancora 'mysql_query' nel vostro * * mysqli codice. Vuoi '$ mysqli-> query()'/'mysqli_query()'. Idealmente, ti consigliamo di utilizzare istruzioni preparate (supponendo che stai passando alcuni parametri di query) invece di eseguire direttamente le query. Vedi http://php.net/manual/mysqli.quickstart.prepared-statements.php – Phil
@Phil ha senso, grazie. –