Kezdőoldal » Számítástechnika » Programozás » MYSQL: DROP TABLE IF EXISTS,...

MYSQL: DROP TABLE IF EXISTS, CREATE TABLE és INSERT INTO?

Figyelt kérdés

Sziasztok,

Engem ez már teljesen kicsinált. Régebben már összehoztam de most kicsit variáltam/ akarok rajta de csak nem adja magát..

Következőt szeretném: index.html-en van a <form> ahol bekérjük az adatokat, ezt a process.php dolgozza majd fel és helyezi el az INSERT INTO parancs használatával a táblánkba. Az index.html-en belül még a <body> után van az adatbázis csatlakozás is, <?php include_one('/config.php/'); ?> itt minden oké, megy a csatlakozás. De ha submit-olom a formot azt írja, hogy az sql_query: X-ÉRTÉK nem egy MySQL-Link blabla nincs olyan értéke ezt kapom 5-ödjére ..

tehát akkor az index.html:

<body>

<?php

include_once "config.php"; // connects to <php echo "DB .">

?>

<div class="navbar">

FORM az index.html-ben:

<form action="process.php" method="POST">

<input type="text" name="formaddress"><br><br>

<input type="submit" value="Submit"><br><br>

</form>


config.php fájl, az adatbázis csat.hoz: <?php


$dbhost = "localhost";

$dbuser = "user";

$dbpass = "pass";

$dbname = "name";

$display_errors = false;


// dsn - Data Source Name

// [link]


$conn = mysql_connect($dbhost, $dbuser, $dbpass);


// Check connection

if (!$conn) {

die("Connection lost." . mysql_error());

}


$sql = "DROP TABLE IF EXISTS table;

CREATE TABLE table (

id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,

address VARCHAR(60) NOT NULL,

regdate TIMESTAMP

)";


mysql_select_db($dbname, $conn);


mysql_close($conn);

?>



és a process.php, itt is van include_once, hogy megnézze a db csatlakozást:

<!DOCTYPE html>

<html>

<head><title>Title</title></head>


<body>

<?php include_once "config.php"; // connects to <php echo "DB .">


$address = $_POST['formaddress'];


$sql = "INSERT INTO Players (id, address, regdate) VALUES ('', $address, '')";


mysql_query($sql, $conn);

?>

</body>

</html>


Konkrét hiba: Warning: mysql_query(): 3 is not a valid MySQL-Link resource in ... on line 12, ezelőtt a "No database selected" problémát írta.


Régebben az egészet egybe írtam, de most nem úgy szeretném. Tehát nem az, hogy handler.php a form action attribútuma és handler.php tartalmazza a $con mysql connect, mysql query meg minden adatot és ezek után csinálom hogy $address = $_POST["érték a formból"]; etc etc.


Köszönöm a segítséget!



2016. jan. 30. 00:33
 1/6 anonim ***** válasza:

"No database selected"

Ez elég egyértelmű. Ne kapcsold ki a hibák kiírását, amíg tesztelsz... Hol használod fel a $dbname változót? Ha sehol, máris megvan a hiba.

2016. jan. 30. 00:41
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:

"Konkrét hiba: Warning: mysql_query(): 3 is not a valid MySQL-Link resource in ... on line 12, ezelőtt a "No database selected" problémát írta. "

Már a mysql_query hibát kapom.

Hol használom fel? mysql_select_db($dbname, $conn);

2016. jan. 30. 00:55
 3/6 anonim ***** válasza:

Bocs, azt nem láttam, nehéz egy ilyen ömlesztett kódhalmazt áttekinteni. Az előtte meg nekem azt jelentette, hogy az előtte levő sorban... Mert ha időben előtte, akkor mit változtattál? Akárhogy is, a resource arra utalhat, hogy nincs rendben a kapcsolat az adatbázissal, de ez itt csak egy warning. Mit tudom én ebből, melyik a 12-es sor? Lépésről lépésre kéne tesztelni. Warningtól nem akad meg.

A create table sql-t hol hívod meg?

2016. jan. 30. 01:49
Hasznos számodra ez a válasz?
 4/6 Drone007 ***** válasza:

Ebben lesz a hiba:

$sql = "INSERT INTO Players (id, address, regdate) VALUES ('', $address, '')";


Fogalmazd meg szigorúbban, és nézd át megvan-e a tábla, cellák.

$sql = "INSERT INTO `Players` (`id`, `address`, `regdate`) VALUES (NULL, ".$address.", '')";

2016. jan. 30. 07:15
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
Ez a sok bonyolítás teljesen felesleges, de az igaz, hogy ha az id intként van deklarálva, akkor nem feltétlenül fog örülni egy string bevitelének. A MySQL nem PHP, hogy összevissza cserélgesd a típusokat. A warning meg nem hiba, de utána kéne járni, mi okozza. És legközelebb lépésenként tesztelni, nem egy nagyobb darab kódban keresgélni a hibát.
2016. jan. 30. 09:25
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Sziasztok, köszönöm a válaszokat már megoldottam. Nem írtam szigorúbbra csak a query vel volt probléma. Miután azt atirtam minden stimmelt if eket is hasznaltam hogy mukodjon normalisan. Elnezest telefonrol irok majd ha lesz idom bemasolom, query utan meg kellett a num-rows hogy a szamlalas lefusson es ha a query > 0 akkor ugyebar van "tobb, mint nulla" talalat igy akkor a beirt ertek a $-post on keresztul mar letezo rekord szoval nem rakna be. Meg a cookit vagy sessiont probalgatom majd es egy timer kellene nekem ami adott submit utan csak x ido utan engedi a latogatot ujra cselekedni. Jajj szornyuek ezek a kis gombok..
2016. febr. 2. 06:50

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, 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!