$conn = mysqli_connect("localhost", "test", "test", "test"); $conn->query("Create table test_model"."(year integer, model varchar(50), accel REAL)"); $stmt = $conn->prepare("insert into test_model values(?,?,?)"); prepare 의 사전적 의미를 생각한다면 쉽게 이해할 수 있다. $stmt = $conn->prepare("insert into test_model values(?,?,?)"); 쿼리를 이렇게 날리겠다. 라는 의미라고 생각해도 무방할 듯 하다. $stmt->bind_param("isd", $year, $model, $accel); 여기서는 컬럼이 총 3개인데 파라메타 값이 4개가 들어가 있다. 첫 isd 를 제외하고는 나머지는 컬럼에 들어갈 값이라는 걸 쉽게 알 수 있다. isd를 잘 살펴 보면 의외로 답은 쉽게 나온다. i 의 경우는 integer 를 의미하고 s 의 경우는 문자(string)을 의미하고 d 의 경우는 double 형을 의미한다. $year, $model, $accel 의 순서로 입력이 되니 첫번쨰 파라메터 역시 isd로 써주면 된다. 추가적으로 b 옵션이 하나 있는데 이것은 blob 형으로 들어간다고 메뉴얼에.. ㅡ,,ㅡ $year= 2003; $year = 2004; 마지막으로 위 주석으로 된 코드에 주석을 없애고 실행을 하면 디비에 잘 들어가 있는 것을 확인할 수 있다. 디비에서 가져올 경우는 $conn = mysqli_connect("localhost", "test", "test", "test"); $stmt = $conn->prepare("select * from test_model order by year"); $stmt->bind_result($year, $model, $accel); echo "<table>\n"; while($stmt->fetch()){
$stmt->bind_param("isd", $year, $model, $accel);
/*
$year = 2001;
$model = '156 2.0 Selespeed';
$accel = 8.6;
$stmt->execute();
$model = '147 2.0 Selespeed';
$accel = 9.3;
$stmt->execute();
$model = '156 GTA Sportwagon';
$accel = 6.3;
$stmt->execute();
*/
$stmt->execute();
echo "<tr><th>model</th><th>0-100 km/h</th></tr>\n";
echo "<tr><td>$year $model</td><td>{$accel} sec</td>\n";
}
echo "</table>\n";
'php' 카테고리의 다른 글
PHP5: Screen scraping with DOM and XPath (0) | 2012.07.24 |
---|---|
PHP. 웹페이지 자동 로긴해서 긁어 오기와 HTML 파싱 라이브러리 (3) | 2012.07.24 |
php 이미지 경로 지정할때 참고해라 (1) | 2012.07.11 |
정규표현식 한글 (0) | 2012.07.10 |
PCRE 정규 표현식 (0) | 2012.07.10 |