21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
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);
2)uložení dat
$result = mysqli_query("INSERT INTO `data` (`rec_time`, `temp00`)
     VALUES ('$rec_time', '$temp00')");
Díky

Moderátor juriad: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
juriad
Profil
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
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
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
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
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.
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0