problem ze skryptem obiektowym dodawania ogłoszeń

0

witam mam skrypt strukturalny i chciałem go przerobić na OBIEKTOWY:

 

<?php
$con = mysql_connect("localhost","root");
if (!$con)  { die('Could not connect: ' . mysql_error()); }
    mysql_select_db("ankieta", $con);
    $sql="INSERT INTO pytanie (`imie`, `nazwisko`, `osrodek`, `nr_historii`, `urodzony`, `zachorowanie`, `dara_rozp`, `1`, `2`, `a3`, `b3`, `c3`, `d3`, `e3`, `a4`, `b4`, `c4`, `d4`, `e4`, `f4`, `a5`, `b5`, `c5`, `d5`, `e5`, `f5`, `a6`, `b6`, `c6`, `d6`, `7`, `8`, `a9`, `b9`, `c9`, `d9`, `e9`, `f9`, `a10`, `b10`, `c10`, `11`, `a12`, `b12`, `c12`, `13`) VALUES ('$_POST[imie]','$_POST[nazwisko]','$_POST[osrodek]','$_POST[nr_historii]','$_POST[urodzony]','$_POST[zachorowanie]','$_POST[dara_rozp]','$_POST[1]','$_POST[2]','$_POST[a3]','$_POST[b3]','$_POST[c3]','$_POST[d3]','$_POST[e3]','$_POST[a4]','$_POST[b4]','$_POST[c4]','$_POST[d4]','$_POST[e4]','$_POST[f4]','$_POST[a5]','$_POST[b5]','$_POST[c5]','$_POST[d5]','$_POST[e5]','$_POST[f5]','$_POST[a6]','$_POST[b6]','$_POST[c6]','$_POST[d6]','$_POST[7]','$_POST[8]','$_POST[a9]','$_POST[b9]','$_POST[c9]','$_POST[d9]','$_POST[e9]','$_POST[f9]','$_POST[a10]','$_POST[b10]','$_POST[c10]','$_POST[11]','$_POST[a12]','$_POST[b12]','$_POST[c12]','$_POST[13]')";
if (!mysql_query($sql,$con))  {
	  die('Error: ' . mysql_error());   }
	    echo "<center><font size=5 face="Arial"><b><pre><strong>Dziękujemy za wypełnienie ankiety</pre></br></font></center>";
	    mysql_close($con)
	    ?>

OBIEKTOWY:

 



<?php

class baza
{
function __construct(){
$this->conn = mysql_connect("localhost","root");
mysql_select_db("ankieta", $this->conn);


if (!$this->conn) {
   echo "Błąd połączenia z bazą danych <br>";
   exit;
}
}
public function __destruct()
{
	if(is_resource($this->conn))
      {
         mysql_close($this->conn);
      }
}

public function dodaj()

{
	
//$tabela = "pytanie";	


$result = mysql_query($this->conn, "INSERT INTO pytanie (`imie`, `nazwisko`, `osrodek`, `nr_historii`, `urodzony`, `zachorowanie`, `dara_rozp`, `1`, `2`, `a3`, `b3`, `c3`, `d3`, `e3`, `a4`, `b4`, `c4`, `d4`, `e4`, `f4`, `a5`, `b5`, `c5`, `d5`, `e5`, `f5`, `a6`, `b6`, `c6`, `d6`, `7`, `8`, `a9`, `b9`, `c9`, `d9`, `e9`, `f9`, `a10`, `b10`, `c10`, `11`, `a12`, `b12`, `c12`, `13`) VALUES ('$_POST[imie]','$_POST[nazwisko]','$_POST[osrodek]','$_POST[nr_historii]','$_POST[urodzony]','$_POST[zachorowanie]','$_POST[dara_rozp]','$_POST[1]','$_POST[2]','$_POST[a3]','$_POST[b3]','$_POST[c3]','$_POST[d3]','$_POST[e3]','$_POST[a4]','$_POST[b4]','$_POST[c4]','$_POST[d4]','$_POST[e4]','$_POST[f4]','$_POST[a5]','$_POST[b5]','$_POST[c5]','$_POST[d5]','$_POST[e5]','$_POST[f5]','$_POST[a6]','$_POST[b6]','$_POST[c6]','$_POST[d6]','$_POST[7]','$_POST[8]','$_POST[a9]','$_POST[b9]','$_POST[c9]','$_POST[d9]','$_POST[e9]','$_POST[f9]','$_POST[a10]','$_POST[b10]','$_POST[c10]','$_POST[11]','$_POST[a12]','$_POST[b12]','$_POST[c12]','$_POST[13]')");
if (!mysql_query($result,$this->conn))  {
	  die('Error: ' . mysql_error());   }
	    echo ("Dziękujemy za wypełnienie ankiety");
	    mysql_close($this->conn);
	
              }
                   }
  $ogloszenie = new baza();
  echo $ogloszenie->dodaj();
          ?>




I WYSKAKUJE MI taki komunikat:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\WebServ\httpd\ankieta\wynik.php on line 30
Error: Zapytanie by�o puste

nie wiem o co chodzi???

z góry dziękuje za pomoc
Marcin

0

Jak tak bardzo chcesz obiektowy to użyj z łaski swojej chociaż PDO.

0

na razie chce bez nie mam zainstalowanego :(

0

a dodam że strukturalnie działa !!!

0

Przecież PDO jest domyślnie instalowane od dawna :|

DO and the PDO_SQLITE driver is enabled by default as of PHP 5.1.0.

Klejenie zapytań z palca prowadzi tylko do pierdyliarda ataków SQL Injection i powszechnie używa się jakiejś nakładki jeśli tylko można. I w tym zapytaniu masz mistrzu SQL Injection, wystarczy wpisać w dowolne pole '; DROP TABLE pytanie; -- i baza idzie z dymem.

0

a pomożesz mi ustalić czemu mi ten komunikat wyskakuje???

0
resource mysql_query ( string $query [, resource $link_identifier ] )

To czemu najpierw dajesz $this->conn, a dopiero potem zapytanie?

$result = mysql_query($this->conn, <cośtam>);
if (!mysql_query($result,$this->conn))  {

A potem znowu używasz mysql_query, tym razem poprawnie ale zupełnie bezsensownie. Może najpierw chociaż przeczytaj swój kod zanim zaczniesz wklejać na forum i szukać pomocy?

1 użytkowników online, w tym zalogowanych: 0, gości: 1