| Autor | Zpráva | ||
|---|---|---|---|
| Pinqui Profil |
#1 · Zasláno: 29. 7. 2009, 18:10:00 · Upravil/a: Pinqui
Dobrý den došel jsem k problému s připojením do databáze v php4, kde mi nefunguje script vytvořen pro php5 a potřeboval bych poradit jak to napsat pro php 4 dočasně než hosting přejde do php5 děkuji zde je kód:
try {
$db = new mysqli('localhost', 'user', 'pass', 'table');
$db->set_charset('utf8');
if(mysqli_connect_errno()) {
throw new Exception('Vnitří chyba: Nepodařilo se spojit s databází.'); }
}
catch (Exception $e){
echo $e->getMessage();
}
Mockrát vám děkuji |
||
| Majkl578 Profil |
#2 · Zasláno: 29. 7. 2009, 19:12:44
pokud vim, mysqli je v php az od verze php5, tudiz prepsat na mysql. taktez bloky try a catch asi na php4 nepujdou.
spis nez workaround bych zmenil hosting, php4 uz je opravdu vykopavka. |
||
| Pinqui Profil |
#3 · Zasláno: 29. 7. 2009, 19:16:49
Majkl578
Oni php4 už odstraňují a dávají php5 a dávají to na nové mašiny, ale potřebuji tak klidně v mysql udělat třídu, aby se mi to připojovalo pomocí $db->query(dotaz) abych na těch prá dní nemusel měnit všechny připojení k databázím. prosím pomozte, jak to napsat, aby to šlo v php4 |
||
| Majkl578 Profil |
#4 · Zasláno: 29. 7. 2009, 20:34:25 · Upravil/a: Majkl578
ten kod nahrad timto:
class Database
{
var $connection;
function Database()
{
$this->connection = mysqli_connect('localhost', 'user', 'pass', 'table');
if (!$this->connection) {
trigger_error('DB connection not successful', E_USER_ERROR);
}
}
function query($sql)
{
$result = mysqli_query($sql);
if (!$result) {
trigger_error('SQL ERROR ' . mysql_errno() . ': ' . mysql_error(), E_USER_ERROR);
}
return $result;
}
}
$db = new Database;
je pravdepodobne, ze budes potrebovat i nahrady za jine funkce, napr. mysqli::fetch_assoc, to muzes udelat pridanim prislusne nahrady mysqli metody do teto tridy, napr: function fetch_assoc($res)
{
return mysqli_fetch_assoc($res);
}edit: ted jsem se dival do dokumentace, mysqli jako takove je v php jiz od php4.1, tudiz by melo stacit sesmolit si tridu (vice dokumentace: http://cz2.php.net/manual/en/class.mysqli.php) |
||
| Pinqui Profil |
#5 · Zasláno: 29. 7. 2009, 20:41:48 · Upravil/a: Pinqui
Majkl578
Takže ta třída, kterou jsi napsal by měla být ok?? zkusím. //edit Fatal error: SQL ERROR 1046: No database selected in /data Mno píše mit o chybu...takto přistupuji k db $data = $db->query("select id, number from category");
if($data->num_rows != 0){
while($sel = $data->fetch_assoc()){... |
||
| Majkl578 Profil |
#6 · Zasláno: 29. 7. 2009, 20:58:52
omlouvam se,nekoukl jsem se do dokumentace, do mysqli_query se musi predat instance objektu, tudiz:
$result = mysqli_query($sql); by melo byt: $result = mysqli_query($this->connection, $sql); |
||
| Pinqui Profil |
#7 · Zasláno: 29. 7. 2009, 21:53:22
Mno přepsal jsem mysqli na mysql, ale nějak mi to nejde a když dám mysql tak to hlásí:
Fatal error: Call to undefined function: mysqli_connect() in /dat |
||
|
Časová prodleva: 16 let
|
|||
0