NBS Posted July 8, 2006 Report Share Posted July 8, 2006 Ko es gribu panākt: Ievadot texfield'ā piem., "5486531459" skaitļus, kurus pārbauda ar manu DB, kur atrodas šie skaitļu virknes. Ja db šāds skaitlis pastāv izvada "OK", ja nav "Meiģiniet vēlreiz". Izveidoju kodu, bet nesaprotu kāpēc viņš nestrādā: ... <form name="form1" method="post" action="index.php"> Ievadiet savu kodu: <input name="code" type="text" align="center" valign="center"><br> <input type="submit" class="submit" name="Submit" value="Submit"> </form> <? $code=$_POST['code']; $username = "username"; $password = "password"; $database = "db"; if(!empty($_POST['code'])) { @mysql_connect(localhost,$username,$password); @mysql_select_db("$database") or die("Unable to select database"); $result=mysql_query("SELECT * FROM `table` where `table` = $code"); if (mysql_num_rows($result) == 1) { echo 'Veiksmigi esat pievienojushies.'; } else { echo "Nepareiz kods."; } } ?> ... Datu bāzei veiksmīgi pieslēdzas, vismaz erroru nemet ārā. Ievadot kādus neeksistējošus datus, kas nav db izmet paziņojumu "Nepareiz kods.", bet kad ievada eksistējošus datus, kas atrodas db, viņš izmet tieši šo pašu paziņojumu "Nepareiz kods." P.S. Lūdzu palīdziet. Link to comment Share on other sites More sharing options...
v3rb0 Posted July 8, 2006 Report Share Posted July 8, 2006 "SELECT * FROM `table` where `table` = $code" ? Link to comment Share on other sites More sharing options...
NBS Posted July 8, 2006 Author Report Share Posted July 8, 2006 Nevajag taisīt muļķīgas QUOTEs (bubu) Kā tas būtu saprotams ? Link to comment Share on other sites More sharing options...
bubu Posted July 8, 2006 Report Share Posted July 8, 2006 Vai error_reporting ir uzlikts uz E_ALL? mysql_error() pārbaudīji ko atgriež pēc kverija? Link to comment Share on other sites More sharing options...
Aleksandrs Posted July 8, 2006 Report Share Posted July 8, 2006 (edited) Lai drošāk un, ja tikai skaitļi, tad vajadzētu: $code=(int)$_POST['code']; un pēc tam attiecīgi: if(!empty($code)) { vēl arī varētu pārrakstīt šo daļu: $results=mysql_query('SELECT null FROM `table` where `table` = '.$code.' LIMIT 1'); $row = mysql_fetch_row($results); if (!empty($row)){ Edited July 8, 2006 by Aleksandrs Link to comment Share on other sites More sharing options...
NBS Posted July 8, 2006 Author Report Share Posted July 8, 2006 (edited) Uzliku E_ALL izmeta: Notice: Undefined index: code in ... Tā kā tas ir Notice tas nav tik svarīgi. Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ... Šis errors man jau nepatīk :( Vēl es neesmu pārliecināts par savu tabla izveidi. Kods: # phpMyAdmin SQL Dump # version 2.5.3 # http://www.phpmyadmin.net # # Host: localhost # Generation Time: Jul 08, 2006 at 04:30 PM # Server version: 4.0.15 # PHP Version: 4.3.3 # # Database : `code` # # -------------------------------------------------------- # # Table structure for table `codes` # # Creation: Jul 08, 2006 at 12:40 PM # Last update: Jul 08, 2006 at 12:40 PM # CREATE TABLE `codes` ( `7568914563` varchar(10) NOT NULL default '', `8649256813` varchar(10) NOT NULL default '', `6548925413` varchar(10) NOT NULL default '', `4589657123` varchar(10) NOT NULL default '', `3547854902` varchar(10) NOT NULL default '', `1240689301` varchar(10) NOT NULL default '', `7451068901` varchar(10) NOT NULL default '', `6475932147` varchar(10) NOT NULL default '', `2598632457` varchar(10) NOT NULL default '', `0124578692` varchar(10) NOT NULL default '' ) TYPE=MyISAM; # # Dumping data for table `codes` # Vismaz man šķiet, ka ir pareizi, bet tā kā errors izmetās saistībā ar argumentiem, es vairs tik pārliecināts neesmu. P.S. Diemžēl Aleksandrs veids nepalīdzēja. Edited July 8, 2006 by bubu Link to comment Share on other sites More sharing options...
bubu Posted July 8, 2006 Report Share Posted July 8, 2006 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ... Redzot šo vajag vienmēr pēc mysql_query izsaukuma izsaukt mysql_error. Tad tiks pateikts, kas īsti ir nepareizs tavā kverijā. Šoreiz pateikšu priekšā (nākamreiz domā pats): Tev nav tabulas ar nosaukumu `table`, kurā jābūt laukam ar nosaukumu `table`. Link to comment Share on other sites More sharing options...
NBS Posted July 8, 2006 Author Report Share Posted July 8, 2006 Ņa, tiešām tev taisnība. Paldies viss tagad smuki strādā. Link to comment Share on other sites More sharing options...
v3rb0 Posted July 8, 2006 Report Share Posted July 8, 2006 (edited) CREATE TABLE `codes` ( `7568914563` varchar(10) NOT NULL default '', `8649256813` varchar(10) NOT NULL default '', ... vispār jau datus glabā ierakstos(rinda, record), bet ne lauku (kolonu, field) nosaukumos.. kaut kādus mežonīgus lauku nosaukumus ar cipariem sataisīt varētu ja tiek kaut kas automātiski ģenerēts, bet man šķiet ka šis nav tas gadījums. p.s. domāts ar '?' bija ka vai tu pats zini ko tas kverijs dara. Edited July 8, 2006 by v3rb0 Link to comment Share on other sites More sharing options...
Delfins Posted July 9, 2006 Report Share Posted July 9, 2006 Notice: Undefined index: code in ...Tā kā tas ir Notice tas nav tik svarīgi. Kā tad, nav svarīgi... tā kā tu to izmanto iekš SQL, tad Notice pārvēršās par SQL-Fatal erroru Imho, ja gribi lai strādā viss korekti, tā kā iecerēts, vēlams no visām Noticēm tikt vaļā ar atticīgo koda pielabošanu, nevis vienkāršu @-pielikšanu f-jas izsaukšanas priekšā... Link to comment Share on other sites More sharing options...
Recommended Posts