Avatar billede tvilling53 Seniormester
23. april 2019 - 16:02 Der er 5 kommentarer og
1 løsning

Unchecked runtime.lasterror

Hej, hvorfor får jeg denne meddelelse "Unchecked runtime.lastError: The message port closed before a response was received." I console.log henvises til første linie på siden hvor der står  <!DOCTYPE html>.

VH Thomas V
Avatar billede Slater Ekspert
23. april 2019 - 16:34 #1
Kontekst?
Avatar billede tvilling53 Seniormester
23. april 2019 - 16:44 #2
hej
jeg skulle have dette script til at hente nogle data fra en tabel;

login_test.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
<script>
function test()
{  var obj, dbParam, xmlhttp, myObj, x, txt = "";alert('function kaldt');
    obj = { "table":"bruger", "limit":5 };
    dbParam = JSON.stringify(obj);alert(dbParam);
    xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function()
    {  alert('Status er = ' + status);
        if (this.readyState === 4 && this.status === 200)
        {  myObj = JSON.parse(this.responseText);
            for (x in myObj)
            {  txt += myObj[x].name + "<br>";
            }
            document.getElementById("demo").innerHTML = txt;
        }
    };
    xmlhttp.open("POST", "bruger_tabel.php", true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    alert('klar til at sende');
    xmlhttp.send("x=" + dbParam);
}   
</script>
<body>
    <button onclick="test()">test</button>
<p id="demo"></p>   
</body>
</html>

bruger_tabel.php
<?php
header("Content-Type: application/json; charset=UTF-8");
$conn = new mysqli('127.0.0.1', "root", "", "api_it_dk");
if($conn->connect_error) {
exit('Could not connect');
}

$obj = json_decode($_POST['x'], false);
if(!($stmt = $conn->prepare("SELECT name FROM ? LIMIT ?")))
{  echo'<br>PREPARE mislykkedes';}
$stmt->bind_param("ss", $obj->table, $obj->limit);
$stmt->execute();
$result = $stmt->get_result();
$outp = $result->fetch_all(MYSQLI_ASSOC);

echo json_encode($outp);
?>
scriptet er hentet fra W3school og jeg har med min begrænsede viden forsøgt at scriptet til fungere men uden held, så jeg troede at den runtime.error vat årsagen til jeg ikke kunne få det til at fungere.

Thomas V
Avatar billede olsensweb.dk Ekspert
23. april 2019 - 17:09 #3
vedr. bruger_tabel.php
hvad retunerer bruger_tabel.php ??
er du sikker på du kan have tabel og limit som parameter ?? i SELECT name FROM ? LIMIT ? under prepare statement

>scriptet er hentet fra W3school
kan du være mere præsis ?? (direkte link)

læs også
https://support.google.com/chrome/thread/2047906?hl=en
Avatar billede tvilling53 Seniormester
23. april 2019 - 17:26 #4
der returneres ikke noget fra bruger_tabel.php.

https://www.w3schools.com/js/tryit.asp?filename=tryjson_php_db_post
https://www.w3schools.com/js/js_json_php.asp nederst på siden
og med hensyn til prepare statement kunne det jo være en måde at gøre det når det nu var vist på den måde når det var med et object.

Thomas V
Avatar billede olsensweb.dk Ekspert
23. april 2019 - 17:49 #5
ref https://stackoverflow.com/questions/11312737/can-i-parameterize-the-table-name-in-a-prepared-statement
citat
But such a query can't have a table name or field name as a parameter.
...
...
One way of thinking of this is "things that can be substituted at runtime execution of the statement without altering its meaning". The table name(s) is not one of those runtime values, as it determines the validity of the SQL statement itself (ie, what column names are valid) and changing it at execution time would potentially alter whether the SQL statement was valid.
/citat
Avatar billede tvilling53 Seniormester
23. april 2019 - 18:32 #6
Mange tak for hjælpen, runtime.lastError betyder ikke noget i denne sammenhæng, jeg har i hvert fald fået løst mit problem.

Thomas V
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Claus Thorsgaard skal sætte gang i væksten som ny CEO: Her er hovedopgaverne som topchef i Luxion
Den tidligere Conscia-topchef Claus Thorsgaard skal nu sætte gang i væksten hos den danske it-virksomhed Luxion. "Luxion har et kæmpe uudnyttet potentiale. Ordrerne vælter ind ad døren uden en aktiv salgsindsats, så hvis vi begynder at fokusere på det, så skulle det gerne gå endnu bedre," siger den nye direktør til Computerworld.
CIO
Har du rost din mellemleder i dag? Snart er de uddøde - og det er et tab
Computerworld mener: Mellemledere lever livet farligt: Topledelsen får konstant ideer med skiftende hold i virkeligheden, og moden går mod flade agile organisationer. Men mellemlederen er en overset hverdagens helt med et kæmpe ansvar. Her er min hyldest til den ofte latterliggjorte mellemleder.
Job & Karriere
Eva Berneke stopper som topchef i KMD og flytter til Paris: Her er KMD's nye topchef
Efter syv år på posten som topchef for KMD forlader Eva Berneke selskabet. Nu flytter hun med familien til Paris, hvor hun vil fortsætte sit bestyrelsesarbejde. KMD har allerede afløser på plads.
White paper
Ét klik kan lægge din virksomhed ned: Sådan bekæmper du mailtrusler
Mailbårne angreb er blandt de mest udbredte og ofte mest alvorlige cybertrusler. Dette whitepaper fra F-Secure giver overblik over, hvordan de mest udbredte mailbårne trusler fungerer, hvordan de detekteres – og hvordan du beskytter din organisation.