Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki,

taigi atsirado klaida, kurios niekaip nepavyksta ištaisyti. Turiu duomenis ištrauktus iš mysql lentelės pavidalu, kurioje prie kiekvieno ID yra EDIT mygtukas, kuri paspaudus galima butu ji redaguoti. Tačiau meta štai tokį errorą:

 

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in redag_forma.php on line 23

 

redag_forma.php failas:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Form Edit Data</title>
</head>

<body>
<table border=1>
 <tr>
   <td align=center>Form Edit Employees Data</td>
 </tr>
 <tr>
   <td>
     <table>
     <?
   include "dbinc.php";//database connection


     $order = "SELECT * FROM mobile_new 
where ID='$id'";
     $result = mysql_query($order);
     $row = mysql_fetch_array($result); ???????????????????


     ?>
     <form method="post" action="visi.php">
     <input type="hidden" name="id" value="<? echo "$row[iD]"?>">
       <tr>        
         <td>Name</td>
         <td>
           <input type="text" name="name" 
       size="20" value="<? echo "$row[reiso_driver]"?>">
         </td>
       </tr>
       <tr>
         <td>Address</td>
         <td>
           <input type="text" name="address" size="40" 
         value="<? echo "$row[reiso_country]"?>">
         </td>
       </tr>
       <tr>
         <td align="right">
           <input type="submit" 
         name="submit value" value="Edit">
         </td>
       </tr>
     </form>
     </table>
   </td>
 </tr>
</table>
</body>
</html>

 

23 eilutė išskirta KLAUSTUKAIS. Ačiū už pagalbą :rolleyes:

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Aprašyta čia:

 

<html>
<body>
<style type="text/css">
th,td{
border-width:0px 1px 1px 0px;
}
</style>
<?php
mysql_connect('localhost','mobile_new','xxxxxxxx') or die(mysql_error());
mysql_select_db('mobile_new')  or die(mysql_error());
$query=mysql_query("select * from reisas2 limit 0,10")  or die(mysql_error());
echo'<table border="1" ><th >ID</th><th>Vair. vardas</th><th>Šalis</th><th >Miestas</th><th >Koordinatės</th><th >Google maps</th><th >Papildoma informacija</th><th ><font color="red">Redaguoti</font></th>';
while($res=mysql_fetch_array($query))
{
 echo'<tr><td>'.$res['ID'].'</td><td>'.$res['reiso_driver'].'</td><td>'.$res['reiso_country'].'</td><td>'.$res['reiso_city'].'</td><td>'.$res['reiso_kordination'].'</td><td>'.$res['reiso_google'].'</td><td>'.$res['reiso_informations'].'</td>';
 echo ("<td><a href=\"redag_forma.php?id=$res[iD]\">Edit</a></td></tr>");

}
echo'</table>';
?>
</body>
</html>

 

Po biški pradėjau gaudytis kad erroras todėl jog neprisijungia i db, blogai lentelės pavadinimas turbūt nurodytas.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kaip matau to $id reikšmė atkeliaus per nuorodą, tai užklausoje reikėtų naudoti $_GET['id'], o ne tiesiog $id. Ir šiaip siūlau pasibandyti tą pačią užklausą pasileisti per pvz phpmyadmin, ten pateiktų daugiau informacijos apie klaidą. Kaip ir sakei, gali būti neteisingas lentelės pavadinimas :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taigi paskutinė bėda su UPDATE sql uzklausa. Kazkodel neatnaujina informacijos duomenu bazeje.

 

<?
//edit_data.php
include "dbinc.php";
$order = "UPDATE reisas2 
         SET Vairuotojas='$reiso_driver', 
             Salis='$reiso_country' 
         WHERE 

	  ID=" . $_GET['id'];
mysql_query($order);
echo $order;
header("location: visi.php");
exit();
?>

 

Pameginus spausdinti order funkcija spausdina tai:

 

UPDATE reisas2 SET Vairuotojas='', Salis='' WHERE ID=

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai ar id perduodi per adresą? t.y. domenas.com/failas.php?id=15 ?

 

Ir šiaip, jei jau mokinies, tai mokinkis normaliai:

http://php.net/manual/en/book.pdo.php

 

Beje, čia yra mirtis vietoje:

WHERE ID=" . $_GET['id'];

 

http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai ar id perduodi per adresą? t.y. domenas.com/failas.php?id=15 ?

 

Ir šiaip, jei jau mokinies, tai mokinkis normaliai:

http://php.net/manual/en/book.pdo.php

 

Beje, čia yra mirtis vietoje:

WHERE ID=" . $_GET['id'];

 

http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php

 

Taip per faila: edit_data.php?id=4

Cia bakalaurinis darbas, tad reikia ispresti sita paskutine beda.

 

Skripto example buvo vietoj tos eilutes sita:

 

 

employees_number='$id'";

 

Ta eilute pats redagavau :D

 

Daryta pagal: http://www.phpeveryday.com/articles/PHP-MySQL-Editing-data-P284.html

Redagavo Majakas69
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...