SQLSTATE: 잘못된 인수 개수: 바인드 변수 개수가 토큰 개수와 일치하지 않습니다. 102행
<p>SQLSTATE[HY093] 오류가 발생했습니다. comments.php의 102번째 줄 아래에 있는 바인드 변수 수가 토큰 수와 일치하지 않습니다. </p>
<pre class="brush:php;toolbar:false;"><?php
/*** 물품 가공 클래스*/
수업 코멘트
{
// 속성
/*** @var int 데이터베이스의 기사 ID*/
공개 $id = null;
/*** @var int 기사가 게시될 날짜/게시될 날짜*/
공개 $publicationDate = null;
/*** @var string 기사의 전체 제목*/
공개 $제목 = null;
/*** @var string 기사의 HTML 콘텐츠*/
공개 $content = null;
/*** @var int 데이터베이스의 기사 ID*/
공개 $articleid = null;
/*** 제공된 배열의 값을 사용하여 개체의 속성을 설정합니다.
*
* @param 연관 속성 값*/
공개 함수 __construct( $data=array() ) {
if ( isset( $data['id'] ) ) $this->id = (int) $data['id'];
if ( isset( $data['publicationDate'] ) ) $this->publicationDate = (int) $data['publicationDate'];
if ( isset( $data['title'] ) ) $this->title = preg_replace ( "/[^.,-_'"@?!:$ a-zA-Z0-9()]/", "", $data['title'] );
if ( isset( $data['content'] ) ) $this->content = $data['content'];
if ( isset( $data['articleid'] ) ) $this->articleid = (int) $data['articleid'];
}
/*** 편집 양식의 POST 값을 사용하여 개체의 속성을 설정합니다.
*
* @param assoc 양식 POST 값*/
공용 함수 storeFormValues( $params ) {
// 모든 매개변수를 저장
$this->__construct( $params );
// 출시 날짜를 구문 분석하고 저장합니다.
if ( isset($params['publicationDate']) ) {
$publicationDate = 폭발( '-', $params['publicationDate'] );
if ( count($publicationDate) == 3 ) {
목록( $y, $m, $d ) = $publicationDate;
$this->publicationDate = mktime (0, 0, 0, $m, $d, $y);
}
}
}
공개 정적 함수 getById( $id ) {
$conn = 새 PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql = "SELECT *, UNIX_TIMESTAMP(publicationDate) AS 출판 날짜 FROM 댓글 WHERE id = :id";
$st = $conn->준비( $sql );
$st->bindValue( ":id", $id, PDO::PARAM_INT );
$st->실행();
$row = $st->fetch();
$콘 = 널;
if ( $row ) 새 주석 반환( $row );
}/*** 데이터베이스의 모든(또는 특정 범위) 기사 개체를 반환합니다.
*
* @param int 선택 사항 반환할 행 수(기본값은 모두)
* @param string 기사 정렬에 따른 선택적 열(기본값은 "publicationDate DESC")
* @return Array|false 두 요소를 포함하는 배열: 결과 => 배열, 기사 개체 목록 totalRows => 총 기사 수*/
공개 정적 함수 getList( $art=1, $order="publicationDate DESC", $numRows=10000 ) {
$conn = 새 PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql = "SELECT SQL_CALC_FOUND_ROWS *, UNIX_TIMESTAMP(publicationDate) AS 출판 날짜 FROM 댓글 WHERE 기사 ID = :art
ORDER BY " . mysql_escape_string($order) . " LIMIT :numRows";
$st = $conn->준비( $sql );
$st->bindValue( ":art", $art, PDO::PARAM_INT );
$st->실행();
$목록 = 배열();
while ( $row = $st->fetch() ) {
$comments = 새 댓글( $row );
$list[] = $주석;
}
}
/*** 현재 기사 개체를 데이터베이스에 삽입하고 해당 ID 속성을 설정합니다.*/
공개 함수 삽입() {
// 插入文章
$conn = 새 PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql = "댓글 삽입( 출판 날짜, 제목, 콘텐츠, 기사 ID ) VALUES( FROM_UNIXTIME(:publicationDate), :title, :content, :articleid )";
$st = $conn->준비 ( $sql );
$st->bindValue( ":publicationDate", $this->publicationDate, PDO::PARAM_INT );
$st->bindValue( ":title", $this->title, PDO::PARAM_STR );
$st->bindValue( ":content", $this->content, PDO::PARAM_STR );
$st->bindValue( ":articleid", $this->articleid, PDO::PARAM_STR );
$st->실행();
$this->id = $conn->lastInsertId();
$콘 = 널;
}
/**
* 에서 数据库中更新当前文章对象。*/
공개 함수 업데이트() {
// 更新文章
$conn = 새 PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql = "댓글 업데이트 SET PublicationDate=FROM_UNIXTIME(:publicationDate), title=:title, summary=:summary, content=:content, articleid=:articleid,imageExtension=:imageExtension WHERE id = :id";
$st = $conn->준비 ( $sql );
$st->bindValue( ":publicationDate", $this->publicationDate, PDO::PARAM_INT );
$st->bindValue( ":title", $this->title, PDO::PARAM_STR );
$st->bindValue( ":content", $this->content, PDO::PARAM_STR );
$st->bindValue( ":articleid", $this->articleid, PDO::PARAM_STR );
$st->bindValue( ":id", $this->id, PDO::PARAM_INT );
$st->실행();
$콘 = 널;
}
/*** 데이터베이스에서 현재 기사 개체를 삭제합니다.*/
공개 함수 삭제() {
//删除文章
$conn = 새 PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$st = $conn->prepare ( "ID = :id LIMIT 1인 곳에서 댓글에서 삭제" );
$st->bindValue( ":id", $this->id, PDO::PARAM_INT );
$st->실행();
$콘 = 널;
}
}
?></pre>
<p><br /></p>