• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

mysqli_stmt_execute() 질문입니다.

20.07.02 22:55 작성 조회수 215

0

mysqli_stmt_execute()
mysqli_connect()
위 함수들은 항상 false를 반환하나요?
if (mysqli_stmt_execute($stmt)) 이 코드에서
mysqli_stmt_execute() 함수가 true를 반환해야 if문이 실행되지 않나요?
var_dump() 로그 확인해 보면 항상 false를 반환하더라고요.
마지막으로 write_process.php 코드에서 제가 MAMP로 서버를 돌려서 강사님 터미널에서 로그 뜨는거 처럼
오류 확인을 못하고 있는데 try catch로 해도 브라우저에 오류 메시지가 안나오더라고요.
write_process.php 여기에서 sql을 잘못 입력했거나 했을 때 브라우저로 오류 메시지 출력되게도 가능한가요?

답변 1

답변을 작성해보세요.

0

안녕하세요:)

mysqli_connect() 함수는 DB 연결이 올바르게 성공한 경우에는 mysqli 를 반환하게 됩니다. false 는 실패했다는 이야기로, 이 상태로 반환된 리소스를 사용하여 mysqli_* 함수를 사용하는 것은 아무런 의미가 없습니다. 일단 커넥션이 성공해야 하기 때문이죠.

오류 메시지를 브라우저에서 확인하는 방법은 아래와 같은 코드를 소스의 맨 위에 적어보시기 바랍니다. 이는 일반적인 php 의 에러까지 전부 표시됩니다. 다만, 보안에 좋지 않으니 유의합니다.

<?php

error_reporting(E_ALL);
ini_set('display_errors', 'On');

그 외에도 mysqli_error() 라는 함수가 있습니다. 이 함수로 mysqli 처리시 에러가 발생한 경우에 마지막 메시지를 보여줍니다.