27. januar 2007 - 21:39Der er
12 kommentarer og 1 løsning
Forbindelse til MySQL via POST værdier
Jeg er igang med at lave en install fil i php, den skal oprette 4 tabeller i en database. For at gøre det skal brugeren jo connecte til sin MySQL database. Til det skal jeg have lavet en formular som connecter til Mysql og hvis den ikke kunne forbinde så skal den _KUN_ komme med en tekst fejl og ikke de dersens mysql_error fejl. Det med at den skal lave 4 tabeller har jeg selv lavet og det virker, men at connecte til Mysql virker desværre ikke som forventet. Den udskriver nemlig altid en mysql_error samtidigt med min tekst fejl!
Her er koden jeg bruger:
$forbindmysql = mysql_connect($host,$user,$pass); $forbinddb = mysql_select_db($db); if (!$forbindmysql || !$forbinddb) { die('Kunne ikke forbinde.'); }else{ die('Forbundet succesfuldt.'); }
// Reporting E_NOTICE can be good too (to report uninitialized // variables or catch variable name misspellings ...) error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE // This is the default value set in php.ini error_reporting(E_ALL ^ E_NOTICE);
// Report all PHP errors (bitwise 63 may be used in PHP 3) error_reporting(E_ALL);
// Same as error_reporting(E_ALL); ini_set('error_reporting', E_ALL);
jeg har kun brugt error_reporting(0); og ikke de andre, det er nemlig kun en fil jeg skal bruge det på, og den slettes alligevel efter man har brugt den.
$forbindmysql = mysql_connect($host,$user,$pass) or die("Kunne ikke forbinde"); $forbinddb = mysql_select_db($db) or die("Kunne ikke forbinde"); if (!$forbindmysql || !$forbinddb) { die('Kunne ikke forbinde.'); }else{ die('Forbundet succesfuldt.'); }
} ?>
<h3>Indtast oplysninger til MySQL forbindelse</h3>
error_reporting(0) slår alle fejl fra. Det vil sige at hvis du har en fejl et andet sted i koden, som ikke skyldes din mysql_connect(), skal du slå det til, uploade filen, læse og rette fejlen for derefter at uploade en gang til. @mysql_connect() er mere målrettet og vil derfor spare dig for dette besvær.
Og så skal det også lige nævnes at ved større sites hvor sikkerheden SKAL være i top, skal alle PHP-genererede fejlmeddelelser slås fra, så evt. ondsindede brugere ikke kan få information om hvad du bl.a. kalder dine variabler.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.