2014-01-29 3 views
0

작동하지가 나는 데이터베이스 연결 PHP 코드는 아래와 같이 test.php라는 만든 : 난 내 데이터베이스에 삽입 브라우저 http://localhost/learn/test.php 및 데이터를 통해 호출 할 때PHP 코드 PHP에서 CLI

<? 
$mysqli = new mysqli("localhost","root","","monster"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

/* return name of current default database */ 
if ($result = $mysqli->query("INSERT INTO `earth` (`monster_id`, `type`, `name`) VALUES 
(NULL, 'defender', 'tortoise') 
")) { 
    $row = $result->fetch_row(); 
    printf("Default database is %s.\n", $row[0]); 
    $result->close(); 
} 
$mysqli->close(); 
?> 

작동

하지만, PHP CLI에서 실행할 때

php -r ' $mysqli = new mysqli("localhost","root","","monster"); 

    /* check connection */ 
    if (mysqli_connect_errno()) { 
     printf("Connect failed: %s\n", mysqli_connect_error()); 
     exit(); 
    } 

    /* return name of current default database */ 
    if ($result = $mysqli->query("INSERT INTO `earth` (`monster_id`, `type`, `name`) VALUES 
    (NULL, 'defender', 'tortoise') 
    ")) { 
     $row = $result->fetch_row(); 
     printf("Default database is %s.\n", $row[0]); 
     $result->close(); 
    } 
    $mysqli->close();' 

데이터가 삽입되지 않았습니다. 업데이트 지금은 eval ($ code); 창문에서는 알지만 리눅스에서는 보이지 않는 것 같습니다.

+0

어떤 오류를 시도하려고? –

+0

구문 형광펜은 문제를 이스케이프 처리하는 인용문이 있다고 생각하는 것 같습니다. – Ben

+0

이제 eval ($ code); 창문에서는 괜찮아 보이지만 리눅스에서는 그렇지 않다. –

답변

1

는이

php -r ' $mysqli = new mysqli("localhost","root","","monster"); 

    /* check connection */ 
    if (mysqli_connect_errno()) { 
     printf("Connect failed: %s\n", mysqli_connect_error()); 
     exit(); 
    } 

    /* return name of current default database */ 
    if ($result = $mysqli->query("INSERT INTO `earth` (`monster_id`, `type`, `name`) VALUES 
    (NULL, \'defender\', \'tortoise\') 
    ")) { 
     $row = $result->fetch_row(); 
     printf("Default database is %s.\n", $row[0]); 
     $result->close(); 
    } 
    $mysqli->close();' 
+0

여전히 작동하지 않는다 ~ _ ~ –

+0

변경 (NULL, \ '수비수 \) – NLSaini

+0

여전히 작동하지 않습니다 NLSaini 답장을 보내 주셔서 감사합니다 –

0

거기에 문법 오류가있는 것 같습니다. '와 함께 PHP 코드를 시작하고 INSERT INTO 문에서 값을'와 함께 포장하고 있습니다. ' 어쩌면 그게 문제 야?

0

이 점점이

php -r ' $mysqli = new mysqli("localhost","root","","monster"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 
$type="defender"; 
$name="tortoise"; 
/* return name of current default database */ 
if ($result = $mysqli->query("INSERT INTO `earth` (`monster_id`, `type`, `name`) VALUES 
(NULL, $type, $name)")) 
{ 
    $row = $result->fetch_row(); 
    printf("Default database is %s.\n", $row[0]); 
    $result->close(); 
} 
$mysqli->close();' 
+0

나는 이미 값이 가변적이더라도 여전히 작동하지 않습니다. –