PHP에서 웹 페이지 관리를위한 약간의 스크립트를 사용하고 있습니다. 항목 등록을하므로 모든 매개 변수를 가져 와서 스크립트에 보내어 INSERT를 작성합니다. 데이터베이스 (mysql). 내 코드 조각은 다음과 같습니다.PHP에서 mysql 삽입을 사용하는 데 문제가 있습니다.
//Getting the params
$title = $_POST["title"];
$date = $_POST["date"];
$hour = $_POST["hour"];
$description = $_POST["description"];
$link = $_POST["link"];
$speaker = $_POST["speaker"];
$site = $_POST["site"];
$file = $_POST["file"];
//Link and File are optional, so I'll be using NULL instead if they're empty
$link = !empty($link) ? ("'".$link."'") : ("'". NULL ."'");
$file = !empty($file) ? ("'".$file."'") : ("'". NULL ."'");
//Now I'm ready to build the query
$query = "INSERT INTO ".$type;
$query = $query . "(title,data,hour,description,link,speaker,site,file)";
$query = $query . "VALUES (";
$query = $query . "'" .$title."'";
$query = $query . ",'".$date."'";
$query = $query . ",'".$hour."'";
$query = $query . ",'".$description."'";
$query = $query . ",".$link;
$query = $query . ",'".$speaker."'";
$query = $query . ",'".$site."'";
$query = $query . ",".$file.")";
//Finally, I'll be sending the INSERT as a query using:
$result = mysql_query($query);
if(!$result)
echo "SQL Error"
그래서 저는 항상 오류 상태에 빠져 있습니다. 다른 웹 페이지에 다른 스크립트를 삽입 한 상태에서 잘 작동합니다.이 스크립트가 그대로 적용됩니다. 나는 확인했습니다
- 로 mysql_connect()와 반환 mysql_select_db()이 확인되어 나는 INSERT에게
- 데이터베이스 연결을 할 수있는 보조금을 (SELECT 쿼리를 사용하여 확인)
힌트를 주시면 감사하겠습니다.
[SOLVED] 문자열이 이스케이프되지 않았으므로 따옴표로 인해 쿼리가 중단되었습니다. 따라서 여전히 이런 문제가 발생하고 더 이상 사용되지 않는 mysql _ API를 사용하는 경우 mysql_escape_string 메소드 (확인 Escaping single quote in PHP when inserting into MySQL)가 필요할 수 있습니다.
더 이상 사용되지 않는'mysql_' API를 사용하여 양식 – user1234
** 중지 ** 테이블 구조를 입력하십시오. PreparedStatement로 mysqli_' 또는'PDO'를 대신 사용하십시오. – Jens
mysql_error() 함수를 호출하여 에러가 무엇인지 알아보십시오. – Jens