2012-10-16 6 views
-2

저는 웹 개발의 초보자입니다. PHP를 사용하여 서버의 데이터베이스 형식으로 데이터를 업데이트하는 방법을 확인했습니다. 데이터베이스에 연결할 수 있지만 데이터를 업데이트 할 수없는 것 같습니다.PHP로 MySQL 데이터베이스에 데이터를 삽입 할 수 없습니다

형태의 HTML : 여기

<html> 
<head> 
    <title>Experiment with php and db</title> 
</head> 

<body> 
    <form name="form1" id="form1" method="post" action="formact.php"> 
    <p><input type="text" name="fname" placeholder="first name"/></p> 
    <p><input type="text" name="lname" placeholder="last name"/></p> 
    <p><textarea name="words" placeholder="Enter what you think"></textarea></p> 
    <p><button type="submit"></button></p> 
    </form> 
</body> 

그리고는 formact.php

<?php 
$name=$_POST['fname']." ".$_POST['lname']; 
$ta=$_POST['words']; 
$con = mysql_connect(); 
$msg="status 0"; 
if (!$con) 
    { 
      $msg="db connect failed"; 
    die('Could not connect: ' . mysql_error()); 
    } 
    if ($con) 
    $msg="db connected"; 
mysql_select_db("php_test",$con); 
$success=mysql_query("INSERT INTO news (title, blog_entry) VALUES ('$name','$ta')"); 
mysql_close($con); 
?> 
<html> 
<head> 
<title>Form with php</title> 
</head> 
<body> 
<?php 
echo $name."<br/>"; 
echo $ta."<br/>"; 
echo $msg."<br/>"; 
if(!$success) 
echo "DB update failed.."; 
?> 
</body> 
</html> 

내가 에코의 $msg=="db connected"!success==true을 얻고있다. 내가 잘못하고있는 부분을 지적 해 주시겠습니까?

1) 잘 모르겠어요하지만 난 생각이 전혀 도움이되지 수도 있지만 당신은 내가 제안하는거야이 두 가지를 시도 할 수 있도록 내가 지난 PHP는 감동 한 이후

+1

일부 DB 사용자는 내용을 변경하는 데 제한이 있습니다. 첫 번째 확인은 사용자에게 쓰기 권한이 있는지 확인하는 것입니다. –

+2

최소한 mysqli_ *를 사용해야한다. PHP를 배우려고한다면, mysql_ *와 같은 오래된 API는 사용하지 마십시오 – BenM

+0

if (! $ success) echo "DB update failed .."; to if (! $ success) echo 'Error :'.mysql_error(); 오류가 무엇인지 알 수 있도록 다시 실행하십시오. –

답변

1

그것은 오랜만이야 $success을 사용하려면 mysql_close($con);을 사용한 후 닫아야합니다.

2) !$success은 유효합니까? 나는 보통 !을 의미하지만, 그렇지 않습니다! 성공을 의미합니까? 빈?

난 그냥 도우려고, 완전히 잘못 될 수도 말했듯이 ... 모든 mysql_로의

0

먼저 * 당신은 mysqli_의 * 또는 PDO

둘째를 사용해야되지 않습니다 것은

로 따라 데이터베이스에 연결
<pre> 
    <?php 
    $link = mysqli_connect('localhost', 'mysql_user', 'mysql_password'); //By default mysql_user=>root and mysql_password='' mean empty 
    if (!$link) { 
     die('Could not connect: ' . mysqli_error()); 
    } 
    echo 'Connected successfully'; 
    mysqli_select_db("php_test", $con); 

    mysqli_query("INSERT INTO news (title, blog_entry) 
    VALUES ('$name','$ta')"); 
    mysqli_close($link); 
    ?> 

1

모두의 첫 번째는 바로 그것에 "는 mysql_query"를 부착하여 전체 쿼리를 에코, 은 그 한때를 실행 ery phpmyadmin에서 오류를 쉽게 지적하고 바로 수정할 수 있습니다. 에코를 수행하면 값이 게시물에서 오는 것인지 아닌지도 알 수 있습니다.

관련 문제