ugrás a tartalomhoz

PHP vs MYSQL

Petrusz · 2006. Már. 1. (Sze), 01.29
Szeretném ismételten a segítségeteket kérni,
van egy egy táblás adatbázisom (test)
adatbázis neve Accounts
tábla neve Acc

egy form ról átküldök 2 adatot a feldolgozó php-nak de lefagy
Parse error: parse error in c:\easyphp1-8\www\insert_account.php on line 2

Ha valaki tud tanácsot adni, megköszönöm :)

Péter

HTML:

<html>
<head>
	<title>Accounts</title>
</head>

<body>
<h1>Accounts / New Account Entry</h1>
<form action="insert_account.php" method="post">
<table border=10>
<tr>
<td>Számla</td>
<td><input type="number" name="szamla" maxlength=6 size=13><br></td>
</tr>
<tr>
<td>Megnevezés</td>
<td><input type="text" name="megnev" maxlength=10 size=13><br></td>
</tr>
<tr>
<td><input type="submit" value="Register"></td>
</tr>
</table>
</form>

</body>
</html>
A PHP:

<?php
mysql_connect("localhost","root"."") or die ("could not connect to localhost");
mysql_select_db("accounts") or die ("could not be select database");
$query="insert into acc("$szamla","$megnev")";
$result=mysql_query($query);
mysql_query($query);
if($result)
echo mysql_affected_rows()."account insert into database.";
?>
 
1

Vessző helyett pont

winston · 2006. Már. 1. (Sze), 01.40
így első nekifutásra azzal lesz a gond, hogy a mysql_connect-nél "."-al választottad egymással el a paramétereket. Használj Weaverslave-t, vagy valamit az ilyen hibák elkerülésére
2

Apróbb hibák

Török Gábor · 2006. Már. 1. (Sze), 07.43
Ha kijavítod a pontot vesszőre, akkor az 5. sorban is lesz majd hiba, ugyanis az SQL INSERT utasításnak nem ez a szintaktikája, továbbá az idézőjelekkel is gondban vagy.

<?php
$query="insert into acc("$szamla","$megnev")";
Helyett:

<?php
$query = "INSERT INTO acc VALUES ('$szamla', '$megnev');";
A fenti kód viszont csak abban esetben életképes, ha a register_globals be van kapcsolva. Ezt viszont biztonsági megfontolásból célszerű elkerülni, így a POST-tal küldött adatokat a $_POST tömbön keresztül érheted el PHP-ból. Tehát még helyesebben:

<?php
$query = "INSERT INTO acc VALUES ('" . $_POST['szamla'] . "', '" . $_POST['megnev'] . "');";
Végül pedig ez egy rendkívül sebezhető kód, hiszen amit a felhasználó begépel, azt te egy az egyben beledobod egy SQL query-be, ami újabb biztonsági kérdéseket vet fel (SQL befecskendezés).
3

Köszönöm

Petrusz · 2006. Már. 1. (Sze), 15.15
Mindkettőtöknek köszönöm a segítségét, már müxik a php. Az igazság az, hogy még csak az alap rutinokkal ismerkedem - de igérem beszerzek egy-két 24 órás könyvet. Aproposz a rossz syntaxokat egy angolnyelvű leírásból szedtem ki ami vagy más verzióra vonatkozik vagy egy alapos hibajavító methodusra :)
"SAMS PHP and MySQL Web Development" ha ismeritek

Péter
4

inm

winston · 2006. Már. 1. (Sze), 17.15
Ha tényleg jót akarsz, ne 24-es könyvet szerezz. Meglehetősen kevés tudásanyag találtatik benne és azok közül is van, ami elavult. Ajánlom Peter Mouldin: PHP Fekete Könyvét és talán még a PHP Fejlesztés felsőfokont. Persze ez így nem lesz elég: olvasgass weben, gyakorolj, stb. Sok sikert.