2013-05-17 5 views
-1

다른 테이블에서 ID 값을 저장하려고 메신저는공지 사항 : 테이블 삽입에서 문자열 변환에 배열

공지 방법 : 온라인

$sql2 = "Insert into relations (id, className) values ($result,'$_POST[className]')"; 

에서

이이 배열 문자열 변환에 내 코드 :

$result = mysqli_query($con,"Select objectID from objects where objectName = '$_POST[relations]'"); 


if($result === FALSE) { 
    die(mysqli_error()); // TODO: better error handling 
} 

$result = mysqli_fetch_assoc($result); 
var_dump($result); 

$sql = "Insert into classes (className) values ('$_POST[className]')"; 
$sql2 = "Insert into relations (id, className) values ($result,'$_POST[className]')"; 

if (!mysqli_query($con,$sql)) 
    { 
    die('Error: ' . mysqli_error($con)); 
    } 
if (!mysqli_query($con,$sql2)) 
    { 
    die('Error: ' . mysqli_error($con)); 
    } 
print_r($_POST) 

내 디버그 출력 등 :

array(1) { ["objectID"]=> string(1) "2" } 
Notice: Array to string conversion in C:\xampp\htdocs\matcher\insertclass.php on line 16 
Error: Unknown column 'Array' in 'field list' 
+0

이 코드가 어떻게 좋지 않거나 취약한 지에 대해 현명한 의견이 있으면 urself로 보관하십시오. 덕분에 나는 이미 이것을 알고 있습니다, 단지 작은 목표에 도달하려고 노력 중입니다. thanks : D – Cubatown

+0

"클래스 (className) 값에 삽입 ('". $ _POST ['className ']. "))"; –

+0

@ zsolt : 그건 전혀 아무것도 아닙니다. '$ x = "a $ b"'는'$ x = "a"와 똑같습니다. $ b'. –

답변

0

나는 여기에 문제의

$result['objectID'] => "2" 

사용 $ 결과 [ 'objectID에'] $ 대신에

$sql2 = "Insert into relations (id, className) values ($result['objectID'],'$_POST[className]')"; 
+0

작동 덕분에 : D 조! – Cubatown

+0

나는 그것을 듣고 기쁘게 생각합니다 :) – furas

0

var_dump ($ _ POST [ 'className'])는 해당 쿼리 바로 전에 무엇을 산출합니까? 또한 $ _POST [className]은 'className'이 상수라고 생각할 수 있으므로 전혀 구문 분석하지 않아야합니다. {$ _POST [ 'className']} 대신 쿼리에서 시도하십시오.

$result = mysqli_fetch_assoc($result); 
... 
$sql2 = "Insert into relations (id, className) values ($result,'$_POST[className]')"; 
                 ^^^^^^^ 

mysqli_fetch_assoc :

+0

var_dump ($ _ POST [ 'className'])는 문자열 (5) "fasfa"array (1) {[ "objectID"] => string (1) "1"} – Cubatown

+0

변경 그게 내게 널 오류가 MySQL의 설명서를 확인하십시오 ... – Cubatown

2

결과 $ 결과가 배열 생각 배열을 반환합니다. 배열을 다른 문자열에 직접 넣습니다.

+0

어떻게 수정합니까? – Cubatown

+0

내 눈보다 나은 눈으로 상을 받았습니다. 그리고 저는 그렇게 가까이에서 찾고있었습니다. 명성! :) –

관련 문제