Diskuze: Php - dotaz na SQL databazi
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Js ma v prohlizeci zabudovanou js-konzolu, precti si vypis chyb.
U php si zapni error_reporting a php volej pres adresni radek
(soubor.php?a=1&b=2...) a precti si php chybu.
Mysql pouziva take vypis chyby.
Az to tam budes mit vsechno zabudovane, tak ma dalsi smysl neco dalsiho hledat, co se neukazuje ani v jednom z tech 3 pripadu.
Muj tip? Hadam, ze mas spatne zapsany ten javascript, uvozovky. Nebo ti intval neudela, co ocekavas a vrati prazdny text a nasledne sql dotaz umre. Ale protoze tam nemas vypis chyb, tak se to nedozvis.
Hodnoty do dotazu nemuzes predavat takhle primo. Koledujes si o problemy v db nebo oteviras cestu hackerum a moznost prijit o celou db. Spoustu reseni mas primo v manualu.
mysqli_connect
mysqli_connect_errno
mysqli_connect_error
mysqli_query
mysqli_error
$mysqli = new mysqli
$mysqli->prepare // priprav si dotaz
$stmt->bind_param // nahrad ? za hodnotu, 's' je prevod na string
$stmt->execute(); // to dela totez jako mysqli_query, spousti dotaz
$stmt->bind_result($district); // zobraz sql dotaz po dosazeni hodnot
$stmt->fetch(); // to uz je normalni fetch
-------------
https://www.php.net/manual/en/mysqli.query.php
Procedural style
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */ // alias KONTROLA A VYPIS CHYB
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
// atd
// takhle nejak se to zapisuje pro dotaz, asi, ja pouzivam pdo ne mysqli drriver, takze nevim jiste
$q="SELECT somecolumn FROM sometable"; //some instruction
$r=mysqli_query($DBlink,$q) or die(mysqli_error($DBlink)." Q=".$q);
// a samozrejme, ti nejvetsi borci pouzivaji jeste prepare statement, aby se vyhly podobnym problemum
https://www.php.net/manual/en/mysqli.prepare.php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {
/* bind parameters for markers */
$stmt->bind_param("s", $city);
/* execute query */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($district);
/* fetch value */
$stmt->fetch();
printf("%s is in district %s\n", $city, $district);
/* close statement */
$stmt->close();
}
Díky moc,
uprimne nepredpokladam, ze ten web bude nekdo pouzivat a tedy by tam byla nejaka
snaha ze strany hackeru.
zkousim spise blbosti, protoze mi programovani zacalo bavit a koukam, ze 3dny
jsou malo na nauceni .
Urcite to zkusim project, ten debuger ma implementovany kazdy prohlizec?, vicemene jsem to psal vsechno v notepadu pripadne v te consoli na W3schools.com
Na w3 school narazis na kde co. K php je oficialni dokumentace. V online vrzi
jsou i komentare od uzivatelu, ktere nekdy pomuzou vyresit problem, ktery v
oficialnim examplu neni. A nebo neni ani ten axample, casto, u novych funkci
Pak jedine google.
Zobrazeno 4 zpráv z 4.