| Autor | Zpráva | ||
|---|---|---|---|
| Sidbin Profil |
Ahoj, snažím se vyřešit přechod z mysql na mysqli. Přestal mě fungovat web u PHP. Mohl by mě to prosím ověřit?
1)otevření DB @$spojeni = mysqli_connect($db_host, $db_uzivatel, $db_heslo); $result = mysqli_query("INSERT INTO `data` (`rec_time`, `temp00`)
VALUES ('$rec_time', '$temp00')");Moderátor juriad: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na
). |
||
| juriad Profil |
#2 · Zasláno: 29. 4. 2015, 09:10:21
1. Co tam dělá ten zavináč?
2. Jen ses přihlásil k databázovému serveru, ale žádnou DB jsi nevybral (4. parametr mysqli_connect). 3. mysqli_query vyžaduje jako první argument spojení k databázi. |
||
| Sidbin Profil |
#3 · Zasláno: 29. 4. 2015, 09:33:30
1. špatně zkopírováno
2. DB vyberu pak: $dbsel = mysql_select_db($db_jmeno); (stará verze, asi ji teda nastavím zrovna do toho $spojeni) 3. DB otevírám pomocí 1) v open_db.php |
||
| juriad Profil |
#4 · Zasláno: 29. 4. 2015, 09:37:40
1. OK
2. snad nepoužíváš mysql_select_db, ale mysqli_select_db
3. mysqli_query vyžaduje dva parametry. Ty předáváš jen jeden. Kdybys měl povolený výpis chybových hlášek a nepotlačoval je zavináčem, všechny chyby by ses už dozvěděl. |
||
| Sidbin Profil |
#5 · Zasláno: 29. 4. 2015, 19:24:35
hlášku to vypisuje "Nelze nastavit databázi"
Adresu DB jsem změnil (WZ) kód: $spojeni = mysqli_connect($db_host, $db_uzivatel, $db_heslo); if (!$spojeni): echo $fch."Nelze se připojit k databázi".$fe; exit; endif; $dbsel = mysqli_select_db($db_jmeno); if (!$dbsel): echo $fch."Nelze nastavit databázi " . $db_jmeno.$fe; exit; endif; |
||
| juriad Profil |
#6 · Zasláno: 29. 4. 2015, 19:27:18
Sidbin:
php.net/manual/en/mysqli.select-db.php Ta funkce vyžaduje dva parametry. Skoro každá funkce v mysqli_* vyžaduje jako parametr buď $spojeni, nebo referenci na nějaký svůj objekt.
|
||
|
Časová prodleva: 4 dny
|
|||
| Sidbin Profil |
Zkouším tedy tohle:
Nějak to nefunguje. Po staru jsem to měl řešné soubory: otevření DB, pak zpracování příchozích hodnot a nakonec zavření DB. $conn = new mysqli('xy', 'zz', '123', 'zz');
if (mysqli_connect_errno()) {
exit('Connect failed: '. mysqli_connect_error());
}
$sql = "insert into data2 (`rec_time`, `temp00`, `temp01`, `temp02`, `temp03`, `temp04`, `temp05`, `temp06`, `temp07`, `temp08`, `temp09`, `temp10`, `temp11`, `s01`, `s02`, `s03` )
VALUES ('$rec_time', '$temp00', '$temp01', '$temp02', '$temp03', '$temp04', '$temp05', '$temp06', '$temp07', '$temp08', '$temp09', '$temp10', '$temp11', '$s01', '$s02', '$s03')");
mysqli_query($conn, $sql); |
||
| lionel messi Profil |
Sidbin:
„Nějak to nefunguje.“ Čo presne to znamená? Vykoná sa príkaz v podmienke? Ak nie, skús doplniť: mysqli_query($conn, $sql);
if (mysqli_error($conn)) {
echo mysqli_error($conn);
}a sleduj, čo sa vypíše. |
||
| Sidbin Profil |
Tak chyba byla v závorce navíc. Snad to bude zpracovávat už ty data.
// Když to zkouším z adresy prohližeče tak to funguje, ale pokud se tam data posílají vzdáleně ze zařízeni tak to nefznguje. :-( všechno to fungovalo až do té změny u WZ |
||
|
Časová prodleva: 11 let
|
|||
0
).