Kezdőoldal » Számítástechnika » Programozás » (php mysql téren) hogy tudnám...

Vbadam7 kérdése:

(php mysql téren) hogy tudnám ebbe a forráskódba beírni a last id-t? Konkrétan a mysqli_insert_id re dondoltam de nem vagyok benne biztos hogy ilyen nincs: mysqli_insert_last_id vagy mysqli_insert_lastid A forráskód:

Figyelt kérdés

<?php


if(isset($_POST['submit']))

{

$felhasznalonev = strip_tags($_POST['felhasznalonev']);

$email = strip_tags($_POST['email']);

$jelszo = strip_tags($_POST['password']);

$jelszoujra = strip_tags($_POST['repassword']);

if($felhasznalonev&&$email&&$jelszo&&$jelszoujra)

{

if($jelszo==$jelszoujra)

{

if(6<=strlen($jelszo)&&20>=strlen($jelszo))

{

if(4<=strlen($felhasznalonev)&&20>=strlen($felhasznalonev))

{

$kapcsolodas = mysql_connect('localhost','root','');

$adatbazis = mysql_select_db('users',$kapcsolodas);


$query = mysql_query("Select * From info WHERE username='$felhasznalonev'");

$numrows = mysql_num_rows($query);


if($numrows==0)

{

$query2 = mysql_query("Select * From info WHERE email='$email'");

$numrows2 = mysql_num_rows($query2);


if($numrows2==0)

{

$kapcsolodas = mysql_connect('localhost','root','');

$adatbazis = mysql_select_db('users',$kapcsolodas);

$password = md5($jelszo);

$datum = date("Y-m-d");

$query3 = mysql_query("


INSERT INTO info VALUES ('','$felhasznalonev','$password','$email','$datum')


");

die ("REGISZTRÁLTÁL! <a href='index.php'>Bejelentkezés</a>");

}

else

{

echo "Ez az E-mail már használatban van!";

}

}

else

{

echo "Ez a felhasználónév már létezik!";

}

}

else

{

echo "A felhasználónév 4 és 20 karakterszám között elfogadható!";

}

}

else

{

echo "A jelszó 6 és 20 karakterszám között elfogadható!";

}

}

else

{

echo "A két jelszó nem eggyezik meg!";

}

}

else

{

echo "Kérlek töltsd ki az összes sort!";

}

}


?>


<html>


<form action='regisztracio.php' method="POST">


<h1>Regisztráció


<br><br>


<table>


<tr>

<td>

Felhasználónév:

</td>

<td>

<input type="text" name="felhasznalonev" value="<?php if(isset($_POST['submit'])) {echo $felhasznalonev;} ?>">

</td>

</tr>

<tr>

<td>

E-mail:

</td>

<td>

<input type="text" name="email" value="<?php if(isset($_POST['submit'])) {echo $email;} ?>">

</td>

</tr>

<tr>

<td>

Jelszó:

</td>

<td>

<input type="password" name="password" value="">

</td>

</tr>

<tr>

<td>

Jelszó újra:

</td>

<td>

<input type="password" name="repassword" value="">

</td>

</tr>


</table>

<input type="submit" name="submit" value="Regisztráció">

</form>


</html>



#php #MySQL #lastid #mysqli_insert_id
2013. dec. 14. 20:40
 1/2 Drone007 ***** válasza:

Kedves vbadam7!


Alapvető hiba, amit a legtöbb kezdő, és autodidakta módon küzdő webfejlesztő sporttárs elkövet, hogy az adatbázis tábláiknak nem adnak ID-t. Ez egy követendő ajánlás, ami megkönnyítheti az életed, ha adatbázisokkal foglalkozol.

Minden(!) tábládnak legyen kötelező mezője egy 'id' mező, ami egy autoincrement elsődleges kulcs, lehetőleg INT(11) típusban.

Ez a mező, mivel autoincrement tulajdonságú, auomatikusan növekedik (többnyire 1-gyel), amikor új érték (sor/rekord) kerül beírásra a táblába. Ezzel a mezővel könnyen hivatkozhatsz bármelyik sorra, hiszen teljesen egyedi, minden sor más ID-t kap.

A mysql_insert_id függvény (ami létezik) visszaadja a legutóbbi INSERT művelet által előállított azonosítót, jelen esetünkben az id mező értékét.

Adatbázis táblába beszúráskor az ilyen id mező értékét nem kell megadnod, elég a helyére egy NULL vagy "" értéket betenni, és a mysql szerver automatikusan hozzáadja a következő id-t.


Egyébként az új php-ból lassan kivezetik a hagyományos mysql függvényeket, ezért jobb ha minél előbb megbarátkozol a mysqli függvényekkel, amikkel egyszerűbben, gyorsabban elérheted az adatbázis adatait.


Sok sikert!

2013. dec. 15. 10:41
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:

Köszi a választ! A problémát már megoldottam. mysql ben beírtam ezt:

ALTER TABLE tablename AUTO_INCREMENT = value;

és müködött.

2013. dec. 15. 21:36

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!