MySQL & PHP Application query

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Birch
Δημοσιεύσεις: 21
Εγγραφή: 14 Νοέμ 2005 22:28

MySQL & PHP Application query

Δημοσίευση από Birch » 06 Δεκ 2008 09:39

Εδώ και μέρες προσπαθώ να φτιάξω μια εφαρμογή που εισάγει δεδομένα σε μια MySQL βάση και τα εξάγει. Πειραματίζοντας, δεν κατάφερα καθόλου να εισάγω δεδομένα στη βάση, παρόλο που το script δουλεύει μια χαρά. Οποιαδήποτε βοήθεια ευπρόσδεκτη.



Το αρχείο που εισάγει τα δεδομένα μετά τη φόρμα εισαγωγής (create_entry.php)

Κώδικας: Επιλογή όλων

<?php include&#40;'dbconnect.php'&#41;; ?>
<?php
mysql_select_db&#40;"archive"&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
mysql_query&#40;"INSERT INTO archive.issues VALUES &#40;$date, $primary_story, $contents, $price&#41;"&#41;; 
$result = mysql_db_query&#40;"archive", $query&#41;;

echo "Data inserted. new table&#58;<br><p></p>";
$query = "SELECT * FROM archive.issues";
$result = mysql_db_query&#40;"archive", $query&#41;;

if &#40;$result&#41; &#123;
echo "<table width=90% align=center border=1><tr>
<td align=center bgcolor=#00FFFF>date</td>
<td align=center bgcolor=#00FFFF>primary story</td>
<td align=center bgcolor=#00FFFF>contents</td>
<td align=center bgcolor=#00FFFF>price</td>
</tr>";

while &#40;$r = mysql_fetch_array&#40;$result&#41;&#41; &#123;
$date = $r&#91;"date"&#93;;
$primary_story = $r&#91;"primary_story"&#93;;
$contents = $r&#91;"contents"&#93;;
$price = $r&#91;"price"&#93;;

echo "<tr>
<td>$date</td>
<td>$primary_story</td>
<td>$contents</td>
<td>$price</td>
</tr>";

&#125; // end of while loop

echo "</table>";


echo "<p></p>";
&#125;
?>
και το dbconnect:

Κώδικας: Επιλογή όλων

<?php
$usr = "root";
$pwd = "";
$db = "archive";
$host = "localhost";

$cid = mysql_connect&#40;$host,$usr,$pwd&#41;;
if &#40;!$cid&#41; &#123; echo&#40;"ERROR&#58; " . mysql_error&#40;&#41; . "\n"&#41;; &#125;

?>
και το Html αρχείο που εισάγει τα δεδομένα: (create_issue.php)

Κώδικας: Επιλογή όλων

<?php
include&#40;'dbconnect.php'&#41;;
?>

<form method="post" action="create_entry.php">
<b>Κυρια Ιστορία&#58;</b>
<input type="text" size="40" name="primary_story">
<br />
<b>Hμερομηνία&#58;</b>
<input type="text" size="40" name="date">
<br />
<b>Περιεχόμενα&#58;</b>
<textarea name="contents" size="1000" name="contents"></textarea>
<br />
<b>Τιμή&#58;</b>
<input type="text" size="40" name="price">
<br />
<b>Εξώφυλλο&#58;</b>
<input name="cover" type="file" /><br />
<input type="submit" value="Upload File" />
<br />
<input type="submit" name="submit" value="Εγγραφή">
<input type="reset" name="reset" value="Reset">
</form>
Κάτι κάνω λάθος, αλλά ώς αρχάριος που είμαι, δεν το καταλαβαίνω. Ευχαριστώ προκαταβολικά για τη βοήθεια σας.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

MySQL & PHP Application query

Δημοσίευση από korgr » 06 Δεκ 2008 11:05

Αντικατέστησε το:

Κώδικας: Επιλογή όλων

mysql_query&#40;"INSERT INTO archive.issues VALUES &#40;$date, $primary_story, $contents, $price&#41;"&#41;; 
με αυτό:

Κώδικας: Επιλογή όλων

$date = $_POST&#91;'date'&#93;;
$primary_story= $_POST&#91;'primary_story'&#93;;
$contents= $_POST&#91;'contents'&#93;;
$price= $_POST&#91;'price'&#93;;
mysql_query&#40;"INSERT INTO archive.issues VALUES &#40;$date, $primary_story, $contents, $price&#41;"&#41;; 
Επεξήγηση:
Κάνεις post τις μεταβλητές της φόρμας, αλλά δεν έχεις φροντίσει για την "υποδοχή" τους στο php script.

Birch
Δημοσιεύσεις: 21
Εγγραφή: 14 Νοέμ 2005 22:28

MySQL & PHP Application query

Δημοσίευση από Birch » 06 Δεκ 2008 11:34

Και πάλι, δεν εισάγει δεδομένα στη βάση.

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

MySQL & PHP Application query

Δημοσίευση από Banavas » 06 Δεκ 2008 13:55

Βάλε τον έλεγχο σφαλμάτων στο παρκάτω query για να δεις γιατί δεν γίνεται η καταχώρηση στη βάση.

mysql_query("INSERT INTO archive.issues VALUES ($date, $primary_story, $contents, $price)") or die(mysql_error());

Αν δεν σου βγάλει κάποιο σφάλμα μπες στο phpmyadmin να δεις αν πράγματι έγινε η καταχώρηση.
Happy coding....
Μάρκος
http://lasernet.gr

Birch
Δημοσιεύσεις: 21
Εγγραφή: 14 Νοέμ 2005 22:28

MySQL & PHP Application query

Δημοσίευση από Birch » 06 Δεκ 2008 17:01

ok, τα κατάφερα, το πρόβλημα ήταν απλό, το βρήκα μέσω του mysql_error.

Ευχαριστώ για τη βοήθεια σας!

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

MySQL & PHP Application query

Δημοσίευση από loxy » 06 Δεκ 2008 19:55

Το

Κώδικας: Επιλογή όλων

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'From, To,Frequency, MaxPassengers,Distance, StartTime, ArrivalTime, GasCost, Tol' at line 1 
τι μπορει να σημαινει δηλαδη ,(περα απο την μεταφραση... ) ;

Εχω κανει insert και σε αλλη φορμα αλλα αυτη ενω την εχω ελεγξει πολλες φορες, δε λειτουργει... :-/

Εχω δοκιμασει και την μορφη

Κώδικας: Επιλογή όλων

'."$userid".'
στo INSERT INTO αλλα δεν δουλεψε.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

MySQL & PHP Application query

Δημοσίευση από fafos » 06 Δεκ 2008 21:10

To insert apaitei na staloun ola ta pedia (kai me thn seira pou exoun sthn vash).... an kapoia pedia den exoun timh vazeis aplos '',:

p.x.
mysql_query("INSERT INTO archive.issues VALUES ($date, $primary_story, $contents, $price, '', '', '', '')");

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

MySQL & PHP Application query

Δημοσίευση από loxy » 06 Δεκ 2008 21:27

Παλι τιποτα...

Η φορμα ειναι αυτη

Κώδικας: Επιλογή όλων

<form method="post" action="offerchk.php" name="offerform" id="offerform">
	
		<label for="From" >From&#58;</label><input type="text" name="From" id="From" /><br />
		<label for="To">To&#58;</label><input type="text" name="To" id="To" /><br />
    	<label for="Frequency">Frequency&#58;</label><input type="text" name="Frequency" id="Frequency" /><br />
		<label for="DriverID">Driver&#58;</label><input type="text" name="DriverID" id="DriverID" /><br />
		<label for="MaxPassengers">MaxPassengers&#58;</label><input type="text" name="MaxPassengers" id="MaxPassengers" /><br />		
        <label for="Distance">Distance &#40; Km &#41;&#58;</label><input type="text" name="Distance" id="Distance" /><br />
        <label for="StartTime">Start Time&#58;</label><input type="text" name="StartTime" id="StartTime" /><br />
		<label for="ArrivaltTime">Arrival Time&#58;</label><input type="text" name="ArrivaltTime" id="ArrivaltTime" /><br />
		<label for="GasCost">Gas Cost&#58;</label><input type="text" name="GasCost" id="GasCost" /><br />
		<label for="TollCost">Toll Cost&#58;</label><input type="text" name="TollCost" id="TollCost" /><br />
		<label for="TotalCost">Total Cost&#58;</label><input type="text" name="TotalCost" id="TotalCost" /><br />
		

		<input type="submit" name="offerform" id="offerform" value="Insert !" />
	
	</form>			
και οδηγει στο offerchk.php, που χρησιμοποιω τον παρακατω κωδικα...

Κώδικας: Επιλογή όλων

<b> You are user &#58; <font color="#0033CC"> <?php echo $_SESSION&#91;'LoginName'&#93; ?> </b> </P>
	  <a href ="logout.php"> Logout </a> <br> <br>
	  <?  
	  
	    
     
	     $from ="";
		 $to ="";
		 $frequency ="";
		 $distance ="";
		 $maxpass ="";
		 $sttime ="";
		 $artime ="";
		 $gas ="";
		 $toll ="";
		 $totalcost ="";
		 $from ="";
		 
       $from = mysql_real_escape_string&#40;$_POST&#91;'From'&#93;&#41;;
       $to = mysql_real_escape_string&#40;$_POST&#91;'To'&#93;&#41;;
       $frequency = mysql_real_escape_string&#40;$_POST&#91;'Frequency'&#93;&#41;; 	
	   $distance = mysql_real_escape_string&#40;$_POST&#91;'Distance'&#93;&#41;;
	   $driver = mysql_real_escape_string&#40;$_POST&#91;'DriverID'&#93;&#41;;
	   $maxpass = mysql_real_escape_string&#40;$_POST&#91;'MaxPassengers'&#93;&#41;;
	   $distance = mysql_real_escape_string&#40;$_POST&#91;'Distance'&#93;&#41;;
	   $sttime = mysql_real_escape_string&#40;$_POST&#91;'StartTime'&#93;&#41;;
	   $artime = mysql_real_escape_string&#40;$_POST&#91;'ArrivalTime'&#93;&#41;;
	   $gas = mysql_real_escape_string&#40;$_POST&#91;'GasCost'&#93;&#41;;
	   $toll = mysql_real_escape_string&#40;$_POST&#91;'TollCost'&#93;&#41;;
	   $totalcost = mysql_real_escape_string&#40;$_POST&#91;'TotalCost'&#93;&#41;;
	   $comments = mysql_real_escape_string&#40;$_POST&#91;'Comments'&#93;&#41;;
	  
	
	    		
     	
		$journeyquery=mysql_query&#40;"INSERT INTO journeys &#40;From, To,Frequency, DriverID,MaxPassengers,Distance, StartTime, ArrivalTime, GasCost, TollCost, TotalCost, Comments&#41; 
		VALUES&#40; $from, $to,  $frequency, $maxpass, $distance, $sttime, $artime, $gas, $toll, $totalcost, $comments&#41;"&#41;  or die&#40;mysql_error&#40;&#41;&#41; ;
		
		if&#40;$journeyquery&#41;
        &#123;
        	echo "<h1>Success</h1>";
        	echo "<p>Your journey was successfully inserted.</p>";
        &#125;
        else
        &#123;
     		echo "<h1>Error</h1>";
        	echo "<p>Sorry, your journey insert failed.</p>";    
        &#125;  
Στη βαση τα εχω -προσωρινα- ολα VARCHAR εκτος τα JourneyID και DriverID.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

MySQL & PHP Application query

Δημοσίευση από fafos » 06 Δεκ 2008 21:35

ego vlepo se 12 pedia na prospatheis na kaneis insert 11 values!!

steile mas thn domh ths vashs sou (export me to phpmyadmin)

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

MySQL & PHP Application query

Δημοσίευση από loxy » 06 Δεκ 2008 21:42

To JourneyID το εχω autoincrement -ΝΟΤ NULL

Οριστε και η βαση ...
Συνημμένα
__Carsharing__.sql.zip
(2.75 KiB) Μεταφορτώθηκε 265 φορές

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

MySQL & PHP Application query

Δημοσίευση από fafos » 06 Δεκ 2008 22:33

Κώδικας: Επιλογή όλων

     <? 
    
       $from = mysql_real_escape_string&#40;$_POST&#91;'From'&#93;&#41;;
       $to = mysql_real_escape_string&#40;$_POST&#91;'To'&#93;&#41;;
       $frequency = mysql_real_escape_string&#40;$_POST&#91;'Frequency'&#93;&#41;;    
      $driver = mysql_real_escape_string&#40;$_POST&#91;'DriverID'&#93;&#41;;
      $maxpass = mysql_real_escape_string&#40;$_POST&#91;'MaxPassengers'&#93;&#41;;
      $distance = mysql_real_escape_string&#40;$_POST&#91;'Distance'&#93;&#41;;
      $sttime = mysql_real_escape_string&#40;$_POST&#91;'StartTime'&#93;&#41;;
      $artime = mysql_real_escape_string&#40;$_POST&#91;'ArrivalTime'&#93;&#41;;
      $gas = mysql_real_escape_string&#40;$_POST&#91;'GasCost'&#93;&#41;;
      $toll = mysql_real_escape_string&#40;$_POST&#91;'TollCost'&#93;&#41;;
      $totalcost = mysql_real_escape_string&#40;$_POST&#91;'TotalCost'&#93;&#41;;
      $comments = mysql_real_escape_string&#40;$_POST&#91;'Comments'&#93;&#41;;

   
             
        
      $journeyquery=mysql_query&#40;"INSERT INTO journeys &#40;`JourneyID`, `From`, `To`,`Frequency`, `DriverID`, `MaxPassengers`, `Distance`, `StartTime`, `ArrivalTime`, `GasCost`, `TollCost`, `TotalCost`, `Comments`&#41;
      VALUES&#40;'', '$from', '$to',  '$frequency', '$driver', '$maxpass', '$distance', '$sttime', '$artime', '$gas', '$toll', '$totalcost', '$comments'&#41;"&#41;  or die&#40;mysql_error&#40;&#41;&#41; ;
      
      if&#40;$journeyquery&#41;
        &#123;
           echo "<h1>Success</h1>";
           echo "<p>Your journey was successfully inserted.</p>";
        &#125;
        else
        &#123;
           echo "<h1>Error</h1>";
           echo "<p>Sorry, your journey insert failed.</p>";   
        &#125;  
?>

epishs diorthose sthn forma to pedio:

<label for="ArrivaltTime">Arrival Time:</label><input type="text" name="ArrivaltTime" id="ArrivaltTime" /><br />


(periseuei ena t :D )

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

MySQL & PHP Application query

Δημοσίευση από loxy » 07 Δεκ 2008 13:50

Σωστη η παρατηρηση ,αλλα δεν εγινε τιποτα.
Βρηκες κατι σημαντικο στη βαση ;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

MySQL & PHP Application query

Δημοσίευση από fafos » 07 Δεκ 2008 14:01

loxy έγραψε:Σωστη η παρατηρηση ,αλλα δεν εγινε τιποτα.
Βρηκες κατι σημαντικο στη βαση ;
ti enoeis den egine tipota? den douleuei h forma me ton kodika pou sou esteila?

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

MySQL & PHP Application query

Δημοσίευση από loxy » 07 Δεκ 2008 16:31

Ωπ σορρυ!
Αλλαξα μονο το ArrivalTime γιατι νομιζω οτι απλως παρεθεσες τον κωδικα μου... :D

O κωδικας σου δουλεψε! Απ οτι φανηκε το προβλημα ηταν to journeyID , αλλα στη register φορμα μου( η οποια εκανε εισαγωγη στον πινακα Users ) αφηνα κενο το πεδιο UserID( το οποιο εχει τις ιδιες ιδιοτητες με το journeyID)χωρις κανενα προβλημα.

Birch
Δημοσιεύσεις: 21
Εγγραφή: 14 Νοέμ 2005 22:28

MySQL & PHP Application query

Δημοσίευση από Birch » 07 Δεκ 2008 19:13

Τώρα προσπαθώ να κάνω update τη βάση, αλλα μου βγάζει ότι έχω error στη σύνταξη της sql. τι κάνω λάθος;

Κώδικας: Επιλογή όλων

<?php
include&#40;'dbconnect.php'&#41;;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http&#58;//www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http&#58;//www.w3.org/1999/xhtml" xml&#58;lang="el">

<HEAD>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<?php

	mysql_select_db&#40;"archive"&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
	# processed when form is submitted back onto itself
	if &#40;$REQUEST_METHOD=="POST"&#41; &#123;

		# setup SQL statement
		$SQL = " UPDATE issues SET";
		$SQL = $SQL . " date = $date";
		$SQL = $SQL . " primary_story = $primary_story";
		$SQL = $SQL . " contents = $contents";
		$SQL = $SQL . " price = $price";
		$SQL = $SQL . " pages = '$pages";
		$SQL = $SQL . " WHERE id = $id ";

		# execute SQL statement
		$result = mysql_db_query&#40;$db, $SQL,$cid&#41; or die&#40;mysql_error&#40;&#41;&#41;;

		# check for errors
		if &#40;!$result&#41; &#123; echo&#40;"ERROR&#58; " . mysql_error&#40;&#41; . "\n$SQL\n"&#41;;	&#125;

		echo &#40;"<P><B> Updated</B></P>\n"&#41;;

	&#125;
	else &#123; # display edit form &#40;not post method&#41;

		# setup SQL statement to retrieve link
		# that we want to edit
		$SQL = " SELECT * FROM issues ";
		$SQL = $SQL . " WHERE id = $id ";

		# execute SQL statement
		$ret = mysql_db_query&#40;$db,$SQL,$cid&#41; or die&#40;mysql_error&#40;&#41;&#41;;

		# retrieve values
		$row = mysql_fetch_array&#40;$ret&#41;;
		$date = $row&#91;"date"&#93;;
		$primary_story = $row&#91;"primary_story"&#93;;
		$contents = $row&#91;"contents"&#93;;
		$price = $row&#91;"price"&#93;;
		$pages = $row&#91;"pages"&#93;;
&#125;
?>



<form method="post" action="manageedit.php">
<b>Νούμερο Τεύχους&#58;</b>
<input type="text" size="40" name="id" value="<?php echo&#40;"$id"&#41;; ?>">
<b>Κυρια Ιστορία&#58;</b>
<input type="text" size="40" name="primary_story"value="<?php echo&#40;"$primary_story"&#41;; ?>">
<br />
<b>Hμερομηνία&#58;</b>
<input type="text" size="40" name="date" value="<?php echo&#40;"$date"&#41;; ?>">
<br />
<b>Περιεχόμενα&#58;</b>
<textarea name="contents" size="1000" name="contents" value="<?php echo&#40;"$contents"&#41;; ?>"></textarea>
<br />
<b>Τιμή&#58;</b>
<input type="text" size="40" name="price" value="<?php echo&#40;"$price"&#41;; ?>">
<b>Σελίδες&#58;</b>
<input type="text" size="40" name="pages" value="<?php echo&#40;"$pages"&#41;; ?>">
<br />
<input type="submit" name="submit" value="Update">
<input type="reset" name="reset" value="Reset">
</form>
<?php

mysql_close&#40;$cid&#41;;

?>

</body>
</html>

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες