Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
O smecherie pe care nu o inteleg

Balcon parter fara acte

unde gasesc un speed bag in bucur...

Programe TV cu altfel de sporturi
 Laptop "bun la toate" max...

navigatie noua vw tiguan

ctfmon.exe - System Error (in Saf...

Ați prins vremurile cand 120 Volț...
 Whatsapp nu afișeaza numele ...

Medii admitere Politehnica Bucure...

Se extinde Baza de la Kogalniceanu

Politist mutilat de caine in curt...
 Trotineta- cat rezista?

Windows 11 si inregistrare de pe ...

Cont Facebook spart

Accesare Plex prin webstation
 

Crearea unei interogări prin intermediul datelor primite de la un user

- - - - -
  • Please log in to reply
9 replies to this topic

#1
worm94

worm94

    Member

  • Grup: Members
  • Posts: 266
  • Înscris: 02.01.2015
Salut,
Încerc să fac o chestie simplă însă nu găsesc nimic relevant pe net.
Vreau să interoghez o bază de date in funcție de ce introduce un utilizator. De exemplu am un
<input type="text" name="firstname">

Iar în interogare ar trebuie să am ceva de genul:
select * from tabel where name = NUME_INTRODUS_DE_UTILIZATOR

Iar asta ar trebuie să se întâmple atunci când dai submit.

#2
Ciubex

Ciubex

    Senior Member

  • Grup: Moderators
  • Posts: 9,869
  • Înscris: 03.02.2005
Trebuie sa fii putin mai specific.
In primul rand in ce limbaj vrei sa lucrezi pe partea de server side? PHP? Ce folosesti ca baza de date?
Pentru ca interogarea in DB se va face cu siguranta printr-un limbaj de programare.

#3
-catalin

-catalin

    Active Member

  • Grup: Members
  • Posts: 1,060
  • Înscris: 03.07.2007
Pai pe formul ala pui un action care e un fisier PHP sau path catre un servletin Java etc.

In fisierul PHp sau servlet sau whatever faci asa:
//pt PHP:
$nume = $_POST["firstname"];
//si apoi faci "select * from tabel where name = " . $nume; // . (punctul) concateneaza 

//pt JAVA
String name = request.getParameter("firstname");
//'select * from tabel where name =' + name;


Desigur verifici de null, de sql injection etc :rolleyes:

#4
worm94

worm94

    Member

  • Grup: Members
  • Posts: 266
  • Înscris: 02.01.2015
Nu am probleme de genul...e un proiect în care trebuie doar să pot modifica,insera,modifica o baza de date prin intermediul unei interfete în php.
Cam așa arată și nu prea vrea.
<?php
$servername = "localhost";
$username = "name";
$password = "pass";
$dbname = "test";
$nume = $_POST["firstname"];
//si apoi faci "select * from tabel where name = " . $nume; // . (punctul) concateneaza
$sql = "SELECT * FROM users where nume =" . $nume;
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
	 echo " - Name: " . $row["nume"]. " " . $row["prenume"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
<form action="demo">
<input type="text" name="firstname"><br>
<input type="submit" value="Submit">
</form>



#5
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,558
  • Înscris: 30.07.2003
Daca ai scrie direct in mediul bazei de date interogarea, acum ai face ? Asa vei observa si greseala de sintaxa.

#6
worm94

worm94

    Member

  • Grup: Members
  • Posts: 266
  • Înscris: 02.01.2015
Direct în mediul bazei de date nu ar fi probleme...ar fi ceva de genul :
INSERT INTO users VALUES ('soft','pedia');


Am rezolvat chestiile legate de conexiune, din ce am înţeles mysql-connect nu mai functionează şi am făcut ceva de genul :

insert.php
<html>
<body>
<?php
$link = mysqli_connect("localhost", "adrian", "mamatata94", "test");
if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
$result = mysql_query('INSERT INTO users VALUES ('$_POST[fname]','$_POST[lname]')');
if (!$result) {
die('Invalid query: ' . mysql_error());
}
mysqli_close($link);
?>
</body>
</html>


index.php
<html>
<body>
<form action="insert.php" method="post">
Firstname: <input type="text" name="fname" /><br><br>
Lastname: <input type="text" name="lname" /><br><br>
<input type="submit" />
</form>
</body>
</html>


Însă primesc eroare aici din cauza ghilimelelor :
$result = mysql_query('INSERT INTO users VALUES ('$_POST[fname]','$_POST[lname]')');

Îmi zice ceva de genul :
Parse error: syntax error, unexpected '$_POST' (T_VARIABLE), expecting ',' or ')' in C:\xampp\htdocs\insert.php on line 12


Edited by worm94, 03 May 2016 - 10:43.


#7
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,558
  • Înscris: 30.07.2003
Tu stii limbajul de programare, regulile sale ? Cum pui variabile la gramada in stringuri !

#8
worm94

worm94

    Member

  • Grup: Members
  • Posts: 266
  • Înscris: 02.01.2015
Nu prea am lucrat in php
Am modificat
$result = mysql_query('INSERT INTO users VALUES ($_POST[fname],$_POST[lname])');

Însă acum nu recunoaşte mysql_query

Edited by worm94, 03 May 2016 - 11:20.


#9
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,558
  • Înscris: 30.07.2003
Concateneaza valoarea variabilei cu stringul. Pune ghilimele, apostrof in mod logic. Sigur ca se poate dar nu te arunci in mare fara sa inveti sa inoti.

Edited by neagu_laurentiu, 03 May 2016 - 11:19.


#10
worm94

worm94

    Member

  • Grup: Members
  • Posts: 266
  • Înscris: 02.01.2015
A funcţionat până la urmă...nu e cine ştie ce chestie dar poate mai ajută pe cineva.
$link->query("INSERT INTO users (nume,prenume) VALUES ('$_POST[fname]','$_POST[lname]')");

unde $link e conexiunea la baza de date:
$link = mysqli_connect("localhost", "name", "pass", "test");



Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate